创建新执行线程有两种方法。一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成:
class PrimeThread extends Thread {
long minPrime;
PrimeThread(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
然后,下列代码会创建并启动一个线程:
PrimeThread p = new PrimeThread(143);
p.start();
创建多线程程序的第一种方式叫做创建Thread的子类 java.lang.Thread类:是描述线程的类,我们想要实现多线程程序就必须继承Thread类 实现步骤: 1.创建一个Thread的子类 2.在Thread的子类中重写Thread类中的run方法,设置线程任务(开启线程) 3.创建Thread的子类对象 4.调用Thread中的方法 start方法 开启新的线程,执行run方法(是调用start来执行run方法) void start() 使该线程开始执行;Java 虚拟机调用该线程的 run 方法。 调用start 虚拟机会开辟一条新的线程来执行run方法 使该线程开始执行;Java 虚拟机调用该线程的 run 方法。 结果是两个线程并发地运行;当前main主线程(从调用返回给 start 方法)和另一个线程(创建的新线程)(执行其 run 方法)。 多次启动一个线程是非法的。特别是当线程已经结束执行后,不能再重新启动。(start方法一个线程只能调用一次) Java程序属于抢占式调度,哪个线程的优先级高,哪个线程优先执行,同一个优先级,随机选择一个执行
1.MyThread extends Thread 先创建一个类继承Thread
1.创建一个Thread的子类
2.在Thread的子类中重写Thread类中的run方法,设置线程任务(开启线程)
2.psvm
3.创建Thread的子类对象
4.调用Thread中的方法 start方法 开启新的线程,执行run方法(是调用start来执行run方法)



