文章目录
一.线程概念
一个程序对应一个进程,一个进程对应多个线程
二.创建线程方式
方式一:
1.创建:继承thread +重写run
2.启动:创建子类对象+start
例子:
public class TDownload extends Thread {
//继承thread方法
public void run() {
//重写run方法
}
}
public static void main(String[] args) {
TDownload td1 = new TDownload();
TDownload td2 = new TDownload();
TDownload td3 = new TDownload();
//启动三个线程,不一定按顺序执行,同时进行,谁先完成谁输出
td3.start();
td1.start();
td2.start();
//按顺序执行
td3.run();
td1.run();
td2.run();
}
}
方式二:
1.创建:实现Runnable +重写run
2.启动:创建实现类对象+Thread对象+start
推荐:避免单继承thread的局限性,优先使用接口implement
例子1:
public class IDownload implements Runnable {
public void run()
System.out.println(name);
}
public static void main(String[] args) {
IDownload td1 = new IDownload();
IDownload td2 = new IDownload();
IDownload td3 = new IDownload();
//启动三个线程,不一定按顺序执行,同时进行,谁先完成谁输出
new Thread(td3).start();
new Thread(td1).