一、线程的基本概念
1.1 单线程
简单的说,单线程就是进程中只有一个线程。单线程在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。
Java示例:
public class SingleThread {
public static void main(String[] args) {
for (int i = 0; i < 10000; i++) {
System.out.print(i + " ");
}
}
}
上述Java代码中,只有一个主线程执行main方法。
1.2 多线程
由一个以上线程组成的程序称为多线程程序。常见的多线程程序如:GUI应用程序、I/O操作、网络容器等。
Java中,一定是从主线程开始执行(main方法),然后在主线程的某个位置启动新的线程。
二、线程的基本操作
2.1 创建
Java中创建多线程类两种方法:
1、继承java.lang.Thread
Java示例:
public class MyThread extends Thread {
public void run() {
for (int i = 0; i < 10000; i++) {
System.out.print(i + " ");
}
}
}
public class MultiThread {
public static void main(String[] args) {
MyThread t = new MyThread();
t.start(); //启动子线程
//主线程继续同时向下执行
for (int i = 0; i < 10000; i++) {
System.out.print(i + " ");
}
}
}
上述代码中,MyThread类继承了类java.lang.Thread,并覆写了run方法。主线程从main方法开始执行,当主线程执行至t.start()时,启动新线程(注意此处是调用start方法,不是run方法),新线程会并发执行自身的run方法。
2