关于线程的学习
来源:互联网 发布:淘宝美工书籍推荐 编辑:程序博客网 时间:2024/06/04 19:34
http://blog.csdn.net/tornado886/article/details/4524346#comments
关于线程的学习:
(1)线程有两种实现方式:
1.继承Thread类,并重写run()方法。
2.实现Runnable接口,实现run()方法。
(2)关于线程中run()和start()的区别:
1.run()当作普通方法的方式调用,程序还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码
2.start()方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码
(3)线程如何设置为守护线程:设置线程对象为daemon(守护)线程或实例化对象方法并设置为守护线程。
例:1.设置线程对象为daemon(守护)线程
Thread thread1 = new Thread(); thread1.setDaemon(true);
2.实例化对象方法并设置为守护线程
new Thread().setDaemon(true);
(4)关于线程中守护线程的问题
程序中只有守护进程存在的时候,才可以退出。
当java虚拟机中存在守护线程运行的时候,虚拟机最后会关闭,但有个前提:当所有常规线程运行完毕以后,守护线程不管运行到哪里,虚拟机都会退出运行。
所以在守护线程,不建议写一些会影响程序的业务逻辑。否则程序会出现什么样的问题难以预测。
(5)线程能被强制退出吗?
可以,使用System.exit(0)强制正常退出。
如下为异常退出,一般非0的退出即为异常退出,也可实现线程退出:
System.exit(1);
(6)Thread()的run()和start()的区别:
run()方法:在本线程内调用该Runnable对象的run()方法,可以重复多次调用;
start()方法:启动一个线程,调用该Runnable对象的run()方法,不能多次启动一个线程;
- 关于线程的学习
- 关于线程Thread的学习
- 关于线程锁的学习
- Java,关于线程的学习的整理
- 【黑马程序员】关于线程的学习
- 关于java线程池的学习
- 关于线程学习总结
- 关于线程学习小结
- 关于java 线程学习
- 关于Java线程学习
- 黑么程序员_关于线程的学习
- 关于THREAD线程中CurrentCulture与CurrentUICulture的学习
- Android学习笔记(10)---关于线程Thread的使用
- 黑马程序员-关于线程学习的若干总结
- 关于学习进程控制和线程控制的小结
- java学习中关于线程
- 关于Python的线程
- 关于线程的基本常识
- 获取url参数
- 多类分类(Multi-label classification)性能评价之宏平均(macro-average)与微平均(micro-average)
- composer使用慢的解决办法
- python web 框架tornado-4.4.2 安装测试
- ubuntu16.04开启telnet服务
- 关于线程的学习
- 方形图片转为圆形头像
- 关于setTimeout中this绑定的问题
- Python的结构型设计模式之外观模式
- Android N Phone进程启动流程
- 框架之struts2篇----day3.2线程安全及知识延伸
- Upsource的安装和与JetBrains工具的集成
- 完成对话框收缩的功能
- How to Train Your Deep Neural Network with Dictionary Learning(翻译)