摘要: wait():将线程进入阻塞状态,需要等待唤醒,此时释放cpu资源 notify():程序一旦执行到此方法,就会唤醒一个被wait的线程 notifyAll():程序一旦执行到此方法,就会唤醒被wait的线程 注意:这三个方法只能用在同步方法或同步代码块中 这三个方法的调用者必须是同步监视器,否则会 阅读全文
posted @ 2020-02-28 17:43 我的二天 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 死锁:不同线程,分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了死锁 同步锁:使用Lock 比较Lock与synchronized: 相同点:都解决了线程安全问题 不同点:synchronized需要制定同步监视器,且保证同步监视器的唯一性,且不管是同步代码块还是同步方 阅读全文
posted @ 2020-02-28 17:08 我的二天 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 方式一:同步代码块 synchroized(同步监视器的对象){需要被同步的代码} package threadtest; //使用同步代码块实现Runable接口的线程 public class Ruanble { public static void main(String[] args) { 阅读全文
posted @ 2020-02-28 15:58 我的二天 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-02-28 13:44 我的二天 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 1. 程序:为完成特定任务而编写的一段指令的集合 2. 进程:是程序的一次执行过程,或是正在运行的一个程序.是一个动态的过程:它有自身的产生,存在和消亡的过程 生 命周期, 3. 线程:进程可以进一步细化为线程,是一个程序内部的一条执行路径, 一个进程可以支持并行多个线程,此时称之为多线程的 3.1 阅读全文
posted @ 2020-02-28 09:48 我的二天 阅读(189) 评论(0) 推荐(0) 编辑