java线程FAQ
来源:互联网 发布:js中的延时函数 编辑:程序博客网 时间:2024/05/29 16:55
1 java程序中,最少会执行一个线程?
是的,java的程序中,至少会执行一个线程。
2 Thread类的run方法被调用出来后,就会启动新的线程?
不是的,要启动新的线程,必须使用start方法,而不是run方法。
3 Rannable接口中声明有start方法与run方法?
不是的,声明在Rannable接口中的只有run方法。源码如下图:
4 有时候多个线程都可以调用出同一个实例的方法?
是的,正因为如此,所以必须要有线程的共享互斥。
5 有时候多个线程都可以调用出同一个Thread类的实例(Instance)的方法?
是的,虽然是Thread类的实例,但其实本质上和其他实例并无二致,都可以由多个线程来调用。
6 执行sleep方法后,在指定的时间内所有的线程都会暂停执行?
不是的,暂停执行的只有调用sleep方法的线程(即现在的线程)。
7 某个线程在执行Synchronize方法时,其他的所有线程都会停止执行?
不是的,会停止执行的只有要取得相同的锁定(lock)的线程而已。
8 执行sleep方法后,该线程只有在指定的时间内才会进入wait set?
不是的,若是执行sleep,线程不会进入wait set,只有调用wait方法的时候才会进入wait set。
9 调用wait的语句一定要写在synchronize方法中才行?
不是的,调用wait的语句可以写在synchronize方法中,synchronize段中或是从这两者调用的别的方法中。只要执行了wait方法的线程在执行时已取得对象实例的锁定(lock)即可。
10 notifyAll方法就是java.lang.Object类的实例方法?
是的,源码如下图:
参考文献:《java多线程设计模式》
- java线程FAQ
- Java FAQ
- Java FAQ
- Java FAQ
- Java FAQ
- 转载.Net线程FAQ
- (4) Java - FAQ
- Java官方FAQ问题
- Java入门及faq
- JAVA异常学习FAQ
- Java新手FAQ
- JAVA FAQ链接
- JAVA异常学习FAQ
- JAVA&J2EE FAQ
- FAQ(java SE)
- Java内存模型FAQ
- Java内存模型FAQ
- Java内存模型FAQ
- Python multiprocessing threading
- Android学习之界面篇(一)Android Animation简单介绍
- [Commons]——队列包装
- CSDN-markdown学习ing
- C++中的OOP
- java线程FAQ
- ECNU_OJ_1008
- php之数据类型
- DDK开发安全事项
- scala入门2
- 脏读 幻读 不可重复读简析
- UITableView无缝加载分页数据
- SDAU课程练习2 1024
- Android Studio 打JAR包