摘要: 一、sleep()方法:在同步中,释放CPU执行权,不释放同步锁,意味着程序停止 二、停止线程方法:原理:run执行完成 1、设置标记 2、interrupe方法:在同步线程中,把冻结状态的线程,强制恢复到运行状态,让其获取CPU执行资格 3、setDaemon(true):设置守护线程,后台线程 阅读全文
posted @ 2019-12-23 15:42 一杯水M 阅读(982) 评论(0) 推荐(0) 编辑
摘要: SDK1.5版本以后对synchronized的升级,其思想是:将同步和锁封装成对象,其对象中包含操作锁的动作。 代码: 结果: lock就是对同步的封装那就有关系和区别: 阅读全文
posted @ 2019-12-23 14:00 一杯水M 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 分析线程经典案例生产者消费者 运行结果: 结果分析: 那么怎么再判断flag呢?while 代码如下: 结果出现死锁: 结果分析: 通过分析,那能不能每次唤醒只唤醒对方线程(如生产者线程只唤醒消费者线程,消费者线程只唤醒生产者线程),查看Object对象方法中没有,但是有一个notifyAll()方 阅读全文
posted @ 2019-12-23 11:49 一杯水M 阅读(250) 评论(0) 推荐(0) 编辑