进程(process)可以包含多个线程
三种创建方式:
- Thread class 继承Thread类
不建议使用:避免OOP单继承局限性。 - Runnable接口 实现Runnable接口
推荐使用:避免单继承局限性,灵活方便,方便同一个对象被多个线程使用
发现问题,多个对象,操作同一个资源的情况下,线程不安全 - Callable接口 实现Callable接口
注意:线程开启不一定立即执行,由CPU调度执行。
1、自定义线程类继承Thread类,重写run()方法,编写线程执行体,创建线程对象,调用start()方法启动线程。
不建议使用:避免OOP单继承局限性。
class PrimeThread extends Thread {
long minPrime;
PrimeThread(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
创建一个线程并启动它运行:
PrimeThread p = n