-
locks查看全部
-
000查看全部
-
要点回顾查看全部
-
加锁 互斥的实现 Critical Section(临界资源)Wait Set(等待区域) wait()方法是等待,将线程放入等待区域,释放枷锁 ---notifyAll()是唤醒所有等待(set)里的--notify()是随机唤醒一个Wait Set中的线程 syschronized(lockObj)设置枷锁----其它线程只有获得枷锁才可以执行查看全部
-
syn什么是加锁操作,保证同一时间只有一个线程访问查看全部
-
wait和notify唤醒操作查看全部
-
互斥代码查看全部
-
正确停止线程 一、错误一:stop()方法 1、not stop:stop()方法会使线程戛然而止 2、使程序突然中止,无法完成完整的业务步骤,也无法进行清理工作 二、错误二:interrupt()方法 1、interrupt()方法只能设置interrupt标志位(且在线程阻塞情况下,标志位会被清除,更无法设置中断标志位),无法停止线程 三、正确方法:设置退出标志 1、使用退出标志位来停止while循环 2、完成最后一次业务后跳出while循环后,之后进行一些清理工作查看全部
-
正确的退出线程——设置退出旗标 eg:volatile boolean flag; 当接收到退出标志时:线程继续运行完自己的业务逻辑,并进行清理操作。这样更安全查看全部
-
stop()是一个错误的线程停止方法查看全部
-
volitile关键字查看全部
-
thread常用方法查看全部
-
1.join是为了让舞台线程最后停止,如果不加有可能舞台线程结束,军队线程还未停止,就好比导演喊停,演员还在演!可以在join后面加入测试语句System.out.println("舞台结束!");,然后去掉或者保留join观察效果。 2.volatile 关键字 保证了线程可以正确地读取其他线程写入的值,如果不写成volatile,由于可见性的问题,当前线程有可能不能读到这个值//可见性JMM(JAVA内存模型)happens-before原则、可见性原则 用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的值 3.Thread.yield();//让出处理器时间,公平竞争查看全部
-
Thread常用方法查看全部
-
RUN方法查看全部
举报
0/150
提交
取消