第十二讲 多线程
现代计算机一般是多CPU和多核的,而传统的程序是单线程的,只在一个核上运行,就会浪费掉这些计算资源,于是就发明多线程来充分利用它们。甚至在单CPU单核上也还是能有效果,因为许多时候计算在等IO,空隙时间就可以再运行别的线程。现代操作系统的主要任务就是进行进程和线程的调度。我们深入到操作系统内部,一定会发现一片繁忙的景象。
我们先看基本型,实现Runnable接口,写执行代码在run()中,代码如下(NewThread.java):
public class NewThread implements Runnable {
public void run() {
try {
for(int i = 5; i > 0; i–) {
System.out.println("Child Thread: " + i);
Thread.sleep(100);
}
} catch (Exception e) {
}
System.out.println(“child thread exit.”);
}
}
定义一个线程很简单,实现Runnable接口的run()方法即可。我们这里写得很简单,打印出一句话,休眠100ms,循环5次后退出。
我们还要写一个程序使用这个线程程序,代码如下(ThreadDemo.java):
public class ThreadDemo {
public static void main(String[] args) {
Thread t = new Thread(new N