public class ThreadMethod {
public static void main(String[] args) throws InterruptedException {
TT tt = new TT();
tt.setName("子线程"); // 设置tt的线程名为 “子线程”
tt.setPriority(Thread.MIN_PRIORITY); // 设置线程的优先级,MIN_PRIORITY为最小 =1
tt.start();
System.out.println("子线程的优先级:" + tt.getPriority()); // 获取优先级 输出为1
for (int i = 1; i <= 3 ; i++) { // 设置主线程,循环三次
System.out.println(Thread.currentThread().getName()+ " " + i);
Thread.sleep(500); // 休眠0.5秒
}
tt.interrupt(); // 主线程3次循环后,调用了子线程的interrupt方法
// 这时会对应执行catch的内容
// 然后直接结束休眠(不用等原来的20s),直接继续执行子线程
}
}
class TT extends Thread{
@Override
public void run() {
while(true){
for (int i = 1; i <= 10 ; i++) {
System.out.println(Thread.currentThread().getName() + " " + i);
}
try {
Thread.sleep(20000);
} catch (InterruptedException e) { // 当线程执行到休眠时,被调用了interrupt方 法
// 就会 catch一个异常,中断休眠
System.out.println(Thread.currentThread().getName() + "被中断了休眠");
}
}
}
}
java入门:线程的常用方法
最新推荐文章于 2025-12-13 12:19:21 发布
本文通过一个具体的Java示例程序介绍了线程的创建、设置优先级、启动及中断的方法。示例中主线程创建了一个名为“子线程”的线程,并设置了最低优先级,在主线程运行过程中调用了子线程的interrupt方法来中断子线程的长时间休眠。
989

被折叠的 条评论
为什么被折叠?



