摘要: 主要涉及java.lang.Object 中三个方法(只能在synchronized方法或者synchronized代码块中使用,否则会报java.lang.illegalMonitorStateException异常) wait():释放锁,让当前侠线程挂起,等候再次对资源的访问, notufy( 阅读全文
posted @ 2018-10-13 17:42 wsjun 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 解决办法: 线程的通过同步也是有弊端的:同一时间只能一个线程访问数据,效率降低了。 上面两个if(intance == null)的判断,第一个是为了当已经实例化过了,就不用再去执行同步代码块了,相对提高了线程的同步的效率。 阅读全文
posted @ 2018-10-13 12:29 wsjun 阅读(721) 评论(0) 推荐(0) 编辑
摘要: 一,线程的生命周期 二,如何处理线程的安全问题:售票时重票,0号票 -1号票 原因:一个线程再操作共享数据的时,未执行完,另外的线程参与进来,导致共享数据存在了安全问题。 解决方法:java的同步机制:必须让一个线程操作共享数据完毕以后,其他进程才有机会参与共享数据 方式一:同步代码块 同步监视器: 阅读全文
posted @ 2018-10-13 12:12 wsjun 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 一,基本概念: 程序(program):是为了完成特定的任务,而用某种语言编写的一段静态代码 进程(process): 是程序的一次执行过程,或是正在运行的一个程序。 线程(Thread) :是进程的进一步细分,是一个程序内部的一条执行路径。 -->程序是静态的,进程是动态的。一个程序同一个时间运行 阅读全文
posted @ 2018-10-13 10:53 wsjun 阅读(129) 评论(0) 推荐(0) 编辑