首页 > 其他 > 详细

并发编程快速入门

时间:2019-10-13 17:03:08      阅读:85      评论:0      收藏:0      [点我收藏+]

一、概念和开启线程和中断线程

1、基本概念

技术分享图片

 上下文切换就是cpu调度分配时间片用在了在线程状态切换了额,越少越好,自旋锁的意义;

2、callable接口方式和futureTask结合,获取返回值,和runable的区别就是返回值;

技术分享图片

 

 3、协作式,interrupt不会立即让线程停止,需要慢慢的释放资源等操作

技术分享图片

 

 4、正确中断线程

技术分享图片

 

 java中阻塞方法都会排除InterruptException;

因为线程调用了interrupt()中断方法被强制唤醒,和sleep()方法冲突,所以报异常;

最好的写法是判断Thred类的属性 isInterrupt 是否为true,不为true说明还没中断,再执行点任务:

技术分享图片

 二、守护线程和生命周期

1、守护线程,一些JVM自带线程,和而主线程同生共死,如GC线程等

技术分享图片

 普通线程最后会执行finally代码块释放资源等;

技术分享图片

 

 

技术分享图片

 

 

2、线程生命周期

技术分享图片

 

 线程优先级1~10,设置setPriority,越大越优先,但是靠不住;

3、start()和run()方法

技术分享图片

 

 没有start()方法创建开启线程,那么直接调用run()方法就是普通方法,还是当前main线程执行,调用了另外一个线程对象的普通方法,java一切皆为对象;

并发编程快速入门

原文:https://www.cnblogs.com/wmqiang/p/11666666.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!