auto commit

This commit is contained in:
CyC2018 2018-03-29 13:10:44 +08:00
parent ee840b7946
commit 185c4e52a3

View File

@ -176,7 +176,9 @@ main() 属于非后台线程。
阻塞是一种状态,而睡眠和挂起是一种手段,通过睡眠和挂起可以让一个线程进入阻塞状态。
睡眠和挂起这两种手段的区别是一个使用睡眠方式阻塞的线程在一个指定的时间之后Thread.sleep(millisec) 的 millisec 参数指定)会退出阻塞状态,而一个使用挂起方式阻塞的线程必须等到其它线程给它发消息它才能退出阻塞状态。
睡眠和挂起这两种手段的区别是,挂起手段会释放对象锁,而阻塞手段不会。
应该注意的是,睡眠和挂起都可以设置一个等待时间,超过等待时间之后,线程会退出阻塞状态。但是如果不为挂起设置等待时间,那么它只能等到通知的到来才能退出阻塞状态。
## 中断
@ -305,7 +307,6 @@ public synchronized void before() {
1. wait() 是 Object 类的方法,而 sleep() 是 Thread 的静态方法;
2. 挂起会释放锁,睡眠不会。
3. 挂起必须等待其它线程的通知才能结束阻塞状态,而睡眠会在一定的时间之后自动结束。
### 2. BlockingQueue
@ -405,9 +406,9 @@ Consumer-4 is consuming product.( Made By Producer-4 )
1. 新建New创建后尚未启动
2. 可运行Runnale可能正在运行也可能正在等待 CPU 时间片;
3. 无限期等待Waiting等待其它线程显示地唤醒否则不会被分配 CPU 时间片;
4. 限期等待Timed Waiting等待其它线程显示地唤醒,在一定时间之后会被系统自动唤醒;
4. 限期等待Timed Waiting等待其它线程显示地唤醒,在一定时间之后会被系统自动唤醒;
5. 阻塞Blocking等待获取一个排它锁如果其线程释放了锁就会结束此状态
6. 死亡Terminated
6. 死亡Terminated:可以是线程结束任务之后自己结束,或者产生了异常而结束,中断机制就是使用了抛出中断异常的方式让一个阻塞的线程结束。
# 六、Executor