一、Thread类的使用
在Java中,多线程的实现主要通过Thread类来完成。通过继承Thread类并重写run()方法来实现多线程的功能。
具体步骤如下:
1.定义Thread类的子类,并重写其run()方法
2.在run()方法中编写并发执行的代码。
3.调用Thread类中的start()方法,就可以启动线程。
举个例子,如下所示:
public class MyThread extends Thread {
@Override
public void run() {
System.out.println("线程开始运行");
//进行并发执行的代码
System.out.println("线程运行结束");
}
}
public class Test {
public static void main(String[] args) {
MyThread myThread = new MyThread();
myThread.start();
}
}
在上面的代码中,定义了一个MyThread类继承Thread类,并重写其run()方法,在run()方法中编写需要并发执行的代码。在Test类中,创建MyThread实例并调用start()方法,就可以启动线程。
二、Thread类的属性
除了方法之外,Thread类还有一些常用的属性:
-
name属性:表示线程的名称。
-
priority属性:表示线程的优先级。Java中线程的优先级范围是1~10,默认值为5。
-
interrupted属性:表示线程的中断标志。
-
alive属性:表示线程是否存活。
示例说明:
(1)使用name属性给线程命名
public class MyThread extends Thread {
MyThread() {
super("My Thread");
}
public void run() {
System.out.println("线程名称为:" + getName());
}
}
public class Test {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
在上面的代码中,MyThread类继承了Thread类,并在构造方法中调用了父类Thread的构造方法设置了线程的名称,然后在run()方法中通过getName()方法获取了线程的名称。在Test类中,创建了MyThread实例并调用start()方法,启动线程。
(2)使用priority属性控制线程优先级
public class MyThread extends Thread {
private String threadName;
MyThread(String name) {
super(name);
threadName = name;
}
public void run() {
System.out.println("线程名称为:" + threadName + ",线程优先级为:" + getPriority());
}
}
public class Test {
public static void main(String[] args) {
MyThread thread1 = new MyThread("Thread1");
MyThread thread2 = new MyThread("Thread2");
MyThread thread3 = new MyThread("Thread3");
thread1.setPriority(1);
thread2.setPriority(5);
thread3.setPriority(10);
thread1.start();
thread2.start();
thread3.start();
}
}
在上面的代码中,MyThread类继承了Thread类,并在构造方法中设置了线程名称,通过getPriority()方法获取线程的优先级。在Test类中,创建了3个MyThread实例并分别设置了不同的优先级,然后启动线程。
通过上述两条示例,我们可以了解到Thread类的基本使用和属性的使用方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中Thread类的使用和它的属性 - Python技术站