首页 > 编程语言 > 详细

JavaSE:与线程有关的常用方法

时间:2021-06-17 12:14:18      阅读:20      评论:0      收藏:0      [点我收藏+]

1.  常用方法

 

static void yield() 当前线程让出处理器(离开Running状态),使当前线程进入Runnable状态等待
static void sleep(times)

使当前线程从Running放弃处理器进入Block状态,休眠times毫秒,再返回到Runnable。

如果其他线程打断当前线程的Block(sleep),就会发生InterruptedException。

int getPriority() 获取线程的优先级
void setPriority(int newPriority)

修改线程的优先级

优先级越高的线程,不一定先执行,但该线程获取到时间片的机会,会更多一些

void join() 等待该线程终止
void join(long millis) 等待参数指定的毫秒数
boolean isDaemon() 用于判断是否为守护线程
void setDeamon(boolean on) 用于设置线程为守护线程

 

2.  案例题目

      编程创建两个线程,线程一:打印 1 - 100 之间的所有奇数,线程二: 打印 1 - 100  之间的所有偶数。

      在main方法,启动上述两个线程,同时执行。主线程:等待两个线程终止。

 1 class SubRunnable1 implements Runnable {
 2     @Override
 3     public void run(){
 4         // 打印1 ~ 100之间的所有奇数
 5         for (int i = 1; i <= 100; i += 2) {
 6             System.out.println("子线程一中: i = " + i);
 7         }
 8     }
 9 }
10 
11 class SubRunnable2 implements Runnable {
12     @Override
13     public void run() {
14         // 打印1 ~ 100之间的所有偶数
15         for (int i = 2; i <= 100; i += 2) {
16             System.out.println("------子线程二中: i = " + i);
17         }
18     }
19 }
20 
21 class SubRunnableTest {
22 
23     main(){
24         SubRunnable1 sr1 = new SubRunnable1();
25         SubRunnable2 sr2 = new SubRunnable2();
26 
27         Thread t1 = new Thread(sr1);
28         Thread t2 = new Thread(sr2);
29 
30         t1.start();
31         t2.start();
32 
33         print("主线程开始等待...");
34         try{
35             t1.join();
36             t2.join();
37         }catch (InterruptedException e) {
38             e.printStackTrace();
39         }
40         print("主线程等待结束!");
41 
42     }
43 }

 

JavaSE:与线程有关的常用方法

原文:https://www.cnblogs.com/JasperZhao/p/14891998.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!