继承Thread
作者:互联网
Thread
-
自定义线程类继承Thread类
-
重写run()方法,编写线程执行体
-
创建线程对,调用start()方法启动线程
package Thread;
//创建线程先继承Thread,在重写run方法,在调佣start开启线程
//总结:线程开启不一定立即执行,由CPU调度执行
public class TestThread01 extends Thread{
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 20; i++) {
System.out.println("我在学习"+i);
}
}
public static void main(String[] args) {
//main线程,主线程
TestThread01 testThread01 = new TestThread01();//创建一个线程对象
testThread01.start();//通过srart来执行线程
for (int i = 0; i < 20; i++) {
System.out.println("我在学习多线程"+i);
}
}
}
Class Thread
-
-
java.lang.Thread
-
-
-
All Implemented Interfaces:
-
已知直接子类:
public class Thread
extends Object
implements Runnable线程是程序中执行的线程。Java虚拟机允许应用程序同时执行多个执行线程。
每个线程都有优先权。 具有较高优先级的线程优先于优先级较低的线程执行。 每个线程可能也可能不会被标记为守护程序。 当在某个线程中运行的代码创建一个新的
Thread
对象时,新线程的优先级最初设置为等于创建线程的优先级,并且当且仅当创建线程是守护进程时才是守护线程。当Java虚拟机启动时,通常有一个非守护进程线程(通常调用某些指定类的名为
main
的方法)。 Java虚拟机将继续执行线程,直到发生以下任一情况:-
已经调用了
Runtime
类的exit
方法,并且安全管理器已经允许进行退出操作。 -
所有不是守护进程线程的线程都已经死亡,无论是从调用返回到
run
方法还是抛出超出run
方法的run
。
创建一个新的执行线程有两种方法。 一个是将一个类声明为
Thread
的子类。 这个子类应该重写run
类的方法Thread
。 然后可以分配并启动子类的实例。 例如,计算大于规定值的素数的线程可以写成如下:
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();另一种方法来创建一个线程是声明实现类
Runnable
接口。 那个类然后实现了run
方法。 然后可以分配类的实例,在创建Thread
时作为参数传递,并启动。 这种其他风格的同一个例子如下所示:
class PrimeRun implements Runnable {
long minPrime;
PrimeRun(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
} -
标签:run,Thread,继承,创建,线程,minPrime,public 来源: https://www.cnblogs.com/java5745/p/15056189.html