首页 > 代码库 > 多线程学习笔记

多线程学习笔记

1. 无论使用哪种方式,最终都必须依靠 Thread 类才能启动多线程。

2. 启动线程是调用 start 方法,而不是调用 run 方法。

3. 同一个线程对象不能 start 2 次,否则将会抛异常:java.lang.IllegalThreadStateException。

4. Thread 类和 Runnable 接口之间在使用上也是有区别的,如果一个类继承了 Thread 类,则不适合于多个线程共享资源,而实现了Runnable 接口,就可以方便地实现资源的共享。

5. 

1 MyThread my = new MyThread();2 new Thread(my).start();3 new Thread(my).start();4 new Thread(my).start();

6.

1 MyThread mt1 = new MyThread();2 MyThread mt2 = new MyThread();3 new Thread(mt1).start();4 new Thread(mt2).start();

7. 创建 就绪 运行 阻塞 终止

8. 线程调用 stop() 方法时或 run() 方法执行结束后,即处于死亡状态。处于死亡状态的线程不具有继续运行的能力。

9. currentThread() 是 Thread 的一个静态方法,在你不重写父类 Thread 的这个方法的情况下,此时 this.currentThread 跟 Thread.currentThread 无任何区别。

10. Thread-0

11. Java 运行时,至少会启动两个线程,一个是 main 线程,另一个是垃圾收集线程。

12. 主线程有可能比其他线程先执行完。

多线程学习笔记