线程类的构造方法、静态块是被那个线程调用的?
- 线程类的构造方法、静态块是被 new 这个线程类所在的线程所调用的,而 run 方法里面的代码才是被线程自身所调用的。
举个例子: 假设 Thread2 中 new 了 Thread1,main 函数中 new 了 thread2,那么:
1、Thread2 的构造方法、静态块是 main 线程调用的,Thread2 的 run() 方法是 Thread2 自己调用的
2、Thread1 的构造方法、静态块是 Thread2 调用的,Thread1 的 run() 方法是 Thread1 自己调用的
同步方法和同步块,那个是更好的选择??
同步块,这意味着同步块之外的代码是异步执行的,这比同步整个方法更提升代码的效率。请知道一条原则:同步的范围越小越好越快
Java线程数过多会造成什么异常??
- 线程的声明周期开销非常高
- 消耗过多的 CPU 资源
- 降低稳定性