多线程Thread



undefined_腾讯视频

1.背景介绍

多线程Thread

是多线程的一种实现方式,是Runnable一种实现

2.知识剖析

多线程Thread的初始化

线程的启动

start()方法的调用

检查线程是否初始化;

通知group,线程启动;

调用native方法start0()启动线程,启动后执行run()方法;;

启动失败容错处理。;

3.常见问题

start()如何调用的run()

start0();

private native void start0();

由这个来吊起本地方法,通过本地方法运行run方法

4.配置展示

源码

5.扩展思考

为什么start()不能重复调用

当调用start()时会调用线程的add()方法,有以下代码

synchronized (this) {

if (destroyed) {

throw new IllegalThreadStateException();

    }

synchronized 关键字 不能有两个线程同时启动


6.参考文献

https://wangchangchung.github.io/2016/12/05/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E6%BA%90%E7%A0%81%E2%80%94%E2%80%94Thread%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/

http://blog.csdn.net/u010185262/article/details/53509685

http://blog.csdn.net/u010412719/article/details/51020128

https://www.cnblogs.com/b3051/p/7484501.html

7.更多讨论

分享到此结束

欢迎大家讨论

PPT:PPT

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~

直接点击此链接:http://www.jnshu.com/login/1/10985551

你可能感兴趣的:(多线程Thread)