其他分享
首页 > 其他分享> > 线程的对象方法

线程的对象方法

作者:互联网

1.start()方法

2.run()方法

3.getId()方法

1 package day02;
2 
3 public class Threadtest02 {
4     public static void main(String[] args) {
5         Thread thread1 = Thread.currentThread();
6         System.out.println(thread1.getId());
7     }
8 }

执行结果:

 

 

 4.isAlive()方法

 1 package day02;
 2 
 3  
 4 
 5 public class IsAliveMethod {
 6 
 7  
 8 
 9     public static void main(String[] args) {
10 
11         Thread thread1 = new IsAliveMethod().new MyThread();
12 
13         System.out.println("begin:" + thread1.isAlive());
14 
15         thread1.start();
16 
17         System.out.println("end:" + thread1.isAlive());
18 
19  
20 
21     }
22 
23     class MyThread extends Thread {
24 
25  
26 
27         @Override
28 
29         public void run() {
30 
31             System.out.println("IsAlive:" + this.isAlive());
32 
33  
34 
35         }
36 
37     }
38 
39 }

运行结果:

5、join()方法 

在很多情况下,主线程创建并启动了线程,如果子线程中进行大量耗时运算,主线程往往将早于子线程结束之前结束。这时,如果主线程想等待子线程执行完成之后再结束,比如子线程处理一个数据,主线程要取得这个数据中的值,就要用到join()方法了。方法join()的作用是等待线程对象销毁。

 1 package day02;
 2 
 3 public class JoinMethod extends Thread {
 4 
 5 
 6     public static void main(String[] args) {
 7 
 8         for (int i = 1; i <= 10; i++) {
 9 
10             if (i == 5) {
11 
12                 try {
13 
14                     JoinMethod t1 = new JoinMethod("JoinedMethod main Thread:");
15 
16                     t1.start();
17 
18                     t1.join();
19  
20 
21                 } catch (InterruptedException e) {
22 
23                     e.printStackTrace();
24 
25 
26                 }
27 
28             }
29 
30             System.out.println(Thread.currentThread().getName() + ":" + i);
31 
32         }
33 
34     }
35 
36 
37     @Override
38 
39     public void run() {
40 
41         for (int i = 1; i <= 5; i++) {
42 
43             System.out.println(getName() + ":\t" + i);
44 
45 
46         }
47 
48     }
49 
50 
51     public JoinMethod(String name) {
52 
53         super(name);
54 
55  
56 
57     }
58 
59 }

运行结果:

可以看出main主线程等待joined thread线程先执行完了才结束的。如果把t1.join()这行注释掉,运行结果如下:

 

6、getName()和setName() 

用来得到或者设置线程名称。

7、getPriority()和setPriority() 

用来获取和设置线程优先级。

8、setDaemon()和isDaemon() 

用来设置线程是否成为守护线程和判断线程是否是守护线程。

标签:run,Thread,对象,线程,thread1,方法,public
来源: https://www.cnblogs.com/xxeleanor/p/15231716.html