摘要: 一、线程同步 线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态,实现线程同步的方法有很多,临界区对象就是其中一种。 在多线程编程里面,一些敏感数据不允许被多个线程同时访问,此时就使用同 阅读全文
posted @ 2019-11-09 22:02 windpoplar 阅读(623) 评论(0) 推荐(0) 编辑
摘要: 一、sleep、join、yield、wait、notify、notifyAll 1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例 阅读全文
posted @ 2019-11-09 20:56 windpoplar 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 上图是一个线程的生命周期状态流转图,很清楚的描绘了一个线程从创建到终止的过程。 这些状态的枚举值都定义在java.lang.Thread.State下 NEW:毫无疑问表示的是刚创建的线程,还没有开始启动。 RUNNABLE: 表示线程已经触发start()方式调用,线程正式启动,线程处于运行中状态 阅读全文
posted @ 2019-11-09 20:29 windpoplar 阅读(693) 评论(0) 推荐(0) 编辑