-
建议: 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模型查看全部
-
要点总结查看全部
-
通过lockObject的wait方法(注意:wait的线程被存放在wait set 中)和notifyAll方法实现同步。 步骤: 1.互斥:同一时间,只能有一个线程访问数据 2.同步:通信机制;一个线程完成,以某种方式通知其他线程 3.锁的概念:private final Object lockObj = new Object(); 4.互斥实现方式:synchronized关键字 synchronized(lockObj){---执行代码----}加锁操作 lockObj.wait();线程等待状态,以避免线程持续申请锁,不去竞争cpu资源 lockObj.notifyAll();唤醒所有lockObj对象上等待的线程查看全部
-
core java java concurrency in practice查看全部
-
并发编程工具查看全部
-
多线程模型查看全部
-
线程安全性查看全部
-
concurrent lock查看全部
-
JMM查看全部
-
volatile查看全部
-
再次调用了interrupt方法,后果: 1.中断状态被清除 2.抛出exception异常查看全部
-
正确的停止线程的运行<br> 1:首先使用线程自带的方法stop(),是不正确的,原因如下:此方法会导致线程戛然而止,我们不清楚线程完成了什么,没完成什么,也没有时间来完成对应的线程运行的清理工作。 2:正确停止线程的方法是,在线程执行中设置状态标识,通过控制此状态标识,来控制线程的正常完整的结束,另外,volatile关键字是保证线程变量对外可见的标志,通过此关键字修饰的状态变量,才能在别的线程中被正确的赋值。查看全部
-
volatile 保证了线程可以正确读取其他线程写入的值查看全部
-
线程常用方法查看全部
-
有共同的 方法 run() ,都在 java.lang 包下查看全部
举报
0/150
提交
取消