1 package multithread4;
2
3 /*
4 * toString():返回该线程的字符串表现形式,包括线程名称、优先级和线程组
5 * Thread[Thread-0,5,main]....14 5是优先级,main是所属线程组
6 *
7 * 字段 MAX_PRIORITY:线程可以具有的最高优先级
8 * MIN_PRIORITY:线程可以具有的最低优先级
9 * NORM_PRIORITY:分配给线程的默认优先级
10 *
11 * Thread(ThreadGroup group,Runnable target) 线程组
12 */
13 class Demo2 implements Runnable{
14 public void run() {
15 for (int x = 0; x < 50; x++) {
16 System.out.println(Thread.currentThread().toString()/*.getName()*/+"...."+x);
17 Thread.yield();//暂停线程,释放执行权,和另一个线程和谐点
18 }
19 }
20 }
21
22 public class JoinDemo {
23
24 public static void main(String[] args) throws Exception{
25 // TODO Auto-generated method stub
26 Demo2 d = new Demo2();
27 Thread t1 = new Thread(d);
28 Thread t2 = new Thread(d);
29
30 t1.start();
31
32 // t1.join();//t1线程要申请加入进来,运行。//等待t1线程终止
33 //临时加入一个线程运算时可以使用join方法
34 t2.start();
35 // t1.join();//主线程处于冻结状态,t1 t2都在抢执行权,但主线程只等待t1,等t1结束主线程才执行
36 t2.setPriority(Thread.MAX_PRIORITY);//设置线程优先级
37 for (int x = 0; x < 50; x++) {
38 System.out.println(Thread.currentThread()/*.getName()*/+"...."+x);
39 }
40 }
41
42 }