-
core-Java ,java-concurrency in practice查看全部
-
并发编程工具查看全部
-
常用交互模型查看全部
-
线程安全性查看全部
-
线程互斥查看全部
-
java扩展并发知识查看全部
-
Thread类里的方法查看全部
-
JAVA-线程交互 争用条件 Race Condition: 多个线程共享同一数据(内存区域),每个线程都尝试操作该数据,从而导致数据被破坏(corrupted)的现象。 互斥与同步 private final Object lockObj = new Object(); synchronized(lockObj){ while (energyBoxes[from] < amount){ try { //条件不满足, 将当前线程放入Wait Set lockObj.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } statements //唤醒所有在lockObj对象上等待的线程 lockObj.notifyAll(); }查看全部
-
互斥实现: synchronized(intrinsic lock) [ɪnˈtrɪnzɪk, -sɪk] 本征;固有的,内在的,本质的 同步的实现:等待wait()/ 唤醒 notify()唤醒一个/notifyAll() [都是Object对象的方法] wait()与notifyAll()不是在同一个线程的同一个操作中进行的 Critical Section临界区 使用完资源后执行 notify()(notifyAll())通知WaitSet里的线程资源已经释放 Wait Set :wait()执行后,进入wait set等待 如何扩展Java并发的知识: 1.Java Memory Mode JMM描述了Java线程如何通过内存进行交互 happens-before原则 synchronized,volatile&final实现原则 2.Locks&Condition Java锁机制和等待条件的高层实现concurrent[kənˈkɜ:rənt]adj〈正式〉同时发生的;同时完成的;同时存在的 java.util.concurrent.locks 3.线程安全性 原子性与可见性 java.util.concurrent.atomic synchronized&volatile DeadLocks 4.多线程编程常用的交互模型 Producer-Consumer模型 Read-Write Lock模型 Future模型 Worker Thread模型 5.Java5中并发编程的工具 Java.util.concurrent 线程池ExecutorService Callable & Future callable美 ['kɔ:ləbəl] 可随时支取的,请求即付的,随时可偿还的 BlocklingQueue 推荐书籍<core java>9版 《JAVA CONCURRENT IN PRACTICE》查看全部
-
volatitle关键字查看全部
-
JAVA-线程交互 争用条件 Race Condition: 多个线程共享同一数据(内存区域),每个线程都尝试操作该数据,从而导致数据被破坏(corrupted)的现象。 互斥与同步 private final Object lockObj = new Object(); synchronized(lockObj){ while (energyBoxes[from] < amount){ try { //条件不满足, 将当前线程放入Wait Set lockObj.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } statements //唤醒所有在lockObj对象上等待的线程 lockObj.notifyAll(); }查看全部
-
JAVA-线程交互 争用条件 Race Condition: 多个线程共享同一数据(内存区域),每个线程都尝试操作该数据,从而导致数据被破坏(corrupted)的现象。查看全部
-
Java -如何停止线程-错误方法 1.stop方法 已经被撤销的方法 2.interrupt (中断线程) 3.正确方式 使用退出旗标(sentinel) volatile boolean sentinel= true; run(){ while(sentinel){ statement } }查看全部
-
Thread常用的一些方法查看全部
-
Thread常用方法查看全部
举报
0/150
提交
取消