-
Thread.sleep(millis); 使当前线程休眠,单位毫秒 join()会阻塞其他线程,让调用这个方法的线程先执行完 yield()会让出cpu调度权,把下次调度机会让给其他线程 volatile关键词,多个线程操作同一变量更安全查看全部
-
推荐看的java 两本书查看全部
-
java 5 中并发编程工具查看全部
-
多线程 编程 常用的交互模型查看全部
-
线程安全性查看全部
-
Locks & Condition java5.0引入的查看全部
-
JMM查看全部
-
代码示例 lockObj 是一个 final Object localObj=new Object();查看全部
-
wait set -- 线程的休息室 Critical Section 共享资源/共享数据 --- 临界区 当现在有一个线程需要访问共享资源的时候 首先,需要获得锁,当它获得了锁之后将进入临界区进行操作 操作过程中,如果它发现某些情况不被满足(条件不满足无法执行 下面的程序是不会往下执行的 只是在等待 下一次竞争资源 从新获取锁 然后再判断是否满足条件 在执行锁块中的代码) 它将调用锁对象上的一个wait方法,此时这个线程首先会释放掉锁资源,然后进入到锁对象上的wait set 由于这个线程释放掉了锁资源,使得其他线程可以有机会来竞争这个临界资源 所以其他的线程获得了锁并且进入到临界区域,同时在锁对象上的等待集合中有多条线程在等待条件的满足 当当前运行线程执行完某些操作,需要通知等待的线程时,它调用notify()方法,将会唤醒锁资源所持有的等待集合中一条线程(随机唤醒,由底层算法实现的,无法控制) 使这条线程有机会竞争CPU资源 或者,当当前运行线程调用了notifyAll()方法,将会使当前锁对象上的等待集合中的全部线程都被唤醒,从而有机会在当前线程离开并释放了锁之后,被唤醒的所有线程竞争这个临界资源的锁对象查看全部
-
线程的争用条件查看全部
-
volatile 保证了线程可以正确的读取其他线程写入的值查看全部
-
synchronized() 实现线程的互斥查看全部
-
停止线程不能用stop方法查看全部
-
notify()方法随机解锁一条线程来竞争cpu资源,具体是哪一条,是随机的查看全部
-
java语法保证了同一时间只有一个线程可以获得设备锁(lockobj)查看全部
举报
0/150
提交
取消