1.6 KiB
1.6 KiB
title | localeTitle |
---|---|
Multithreading | 多线程 |
多线程
多线程是一个同时执行多个进程的过程。 Java使用主线程启动程序,并且只要有任何用户创建它,就会在主线程上添加更多线程。主线程是任何Java程序中的第一个用户线程。此外,JVM确保在程序结束之前关闭所有用户线程。
线程既有优点也有缺点。
好处:
- 独立于其他线程运行代码。
- 创建模块化设计。
缺点:
如果线程未正确同步,则会出现竞争条件和死锁。
线程可以进一步分为两类:
- 用户线程
- 守护线程
可以通过两种方式创建线程:
-
实现Runnable接口: Runnable接口中只有一个方法,即public void run()。实现此方法将确保每当此线程启动时,run()内的代码执行。
-
扩展线程类。 这个类还包含public void run(),为了运行我们自己的代码,我们需要覆盖它们。使用此方法的缺点是我们在Thread中有一个超类,并且不能扩展我们可能想要的任何其他类。
两者的代码可以在这里找到:http://ide.geeksforgeeks.org/k7GjcA。
您会注意到,如果多次运行此代码,结果可能会有所不同。这是由运行它的操作系统决定的。操作系统可以从可运行状态中选择任何线程并运行它。我们没有控制权。如果有多个线程处于可运行状态(准备运行),则可以挑选任何人。它甚至不依赖于优先权。
更多详情:https://www.ntu.edu.sg/home/ehchua/programming/java/J5e_multithreading.html