-
线程Thread常用方法查看全部
-
stop不是正确方法查看全部
-
线程常用方法查看全部
-
Thread 常用方法查看全部
-
建议: 1、Java Memory Mode:JMM描述了java线程如何通过内存进行交互,了解happens-before,synchronized,voliatile & final 2、Locks % Condition:锁机制和等待条件的高层实现 java.util,concurrent.locks 3、线程安全性:原子性与可见性,死锁等 4、多线程常用的交互模型 · Producer-Consumer模型 · Read-Write Lock模型 · Future模型 · Worker Thread模型 5、Java5中并发编程工具:java.util.concurrent 线程池ExcutorService Callable&Future BlockingQueue 6、推荐书本:CoreJava & JavaConcurrency In Practice查看全部
-
线程安全性查看全部
-
Locks&Condition查看全部
-
JMM查看全部
-
1:线程的互斥是指,在同一时间关键数据只能有一个线程访问<br> 2:线程互斥的实现有synchronized关键字来实现,类似于给对应的代码加锁,只有获得锁的线程才能运行此段代码 3:线程的同步是指,线程间的一种通信控制,一个线程完成了某事后通知另一个线程可以进行下面的事情了 4:线程同的实现有wait(),notify(),notifyall()这几个方法来实现,这几个方法都是属于object类,并不是thread类 建议: 1、Java Memory Mode:JMM描述了java线程如何通过内存进行交互,了解happens-before,synchronized,voliatile & final 2、Locks % Condition:锁机制和等待条件的高层实现 java.util,concurrent.locks 3、线程安全性:原子性与可见性,死锁等 4、多线程常用的交互模型 · Producer-Consumer模型 · Read-Write Lock模型 · Future模型 · Worker Thread模型 5、Java5中并发编程工具:java.util.concurrent 线程池ExcutorService Callable&Future BlockingQueue 6、推荐书本:CoreJava & JavaConcurrency In Practice查看全部
-
互斥加锁synchromized(intrinsic lock)查看全部
-
Thread常用方法查看全部
-
程序的执行过程查看全部
-
Thread常用方法查看全部
-
进程是程序或任务的执行过程,具有动态性;持有资源(共享内存,共享文件)和线程(即进程是资源和线程的载体)。 线程:是系统中最小的执行单元,同一进程中有多个线程,线程共享线程的资源。 线程交互--线程通信:互斥 与同步。 同步即协作,互斥即竞争。 start()-->启动线程 sleep()--->线程休眠指定的时间 join()--->调用线程,使其他线程等待调用线程终止之后执行 yield()-->当前正在处理器运行的线程释放出处理器资源并重新竞争处理器资源 volatile关键字——表示此线程可以正确的读取其他线程写入的值,就是创建一个线程A,并且在线程A中有一个变量是使用volatile关键字修饰的,那么在线程B中修改线程A中的这个变量的值,可以保证现正A能够正确的读取。 JSR-133提出了happens-before的概念,通过这个概念来阐述操作之间的内存可见性。 如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在happens-before关系。这里提到的两个操作既可以是在一个线程之内,也可以是在不同线程之间。两个操作之间具有happens-before关系,并不意味着前一个操作必须要在后一个操作之前执行!happens-before仅仅要求前一个操作(执行的结果)对后一个操作可见。 常见的满足happens- before原则的语法现象: 对象加锁:对一个监视器锁的解锁,happens-before 于随后对这个监视器锁的加锁。 volatile变量:对一个volatile域的写,happens-before 于任意后续对这个volatile域的读。 停止线程方法: 1:首先使用线程自带的方法stop(),是不正确的,原因如下:此方法会导致线程戛然而止,我们不清楚线程完成了什么,没完成什么,也没有时间来完成对应的线程运行的清理工作。 2:正确停止线程的方法是,在线程执行中设置状态标识,通过控制此状态标识,来控制线程的正常完整的结束,另外,volatile关键字是保证线程变量对外可见的标志,通过此关键字修饰的状态变量,才能在别的线程中被正确的赋值。查看全部
-
本次可能老师给我们讲解的课程,学习的时候最好,能过系统的学习,否则很容易忘记,当然,也需要富有想象的学习,否者全是文字什么的也难记,下面是老师给我们提供的一些继续学习的建议: 1、Java Memory Mode:JMM描述了java线程如何通过内存进行交互,了解happens-before,synchronized,voliatile & final 2、Locks % Condition:锁机制和等待条件的高层实现 java.util,concurrent.locks 3、线程安全性:原子性与可见性,死锁等 4、多线程常用的交互模型 · Producer-Consumer模型 · Read-Write Lock模型 · Future模型 · Worker Thread模型 5、Java5中并发编程工具:java.util.concurrent 线程池ExcutorService Callable&Future BlockingQueue 6、推荐书本:CoreJava & JavaConcurrency In Practice 非常感谢老师的讲解查看全部
举报
0/150
提交
取消