Java 线程操作的相关方法

来源:互联网 发布:audacity mac下载 编辑:程序博客网 时间:2024/06/05 02:51
//线程的相关方法//1,yield(礼让) 和 join(强制运行) /*class MyThread7 implements Runnable{public void run(){for(int i=0; i<5; i++){System.out.println(Thread.currentThread().getName()+"运行-->"+i);if(i == 2){System.out.println("线程礼让:");Thread.currentThread().yield();//线程礼让}}}}public class TestThread2{public static void main(String []args){MyThread7 my = new MyThread7();Thread t1 = new Thread(my,"线程A");Thread t2 = new Thread(my,"线程B");t1.start();t2.start();}}*//*class MyThread7 implements Runnable{public void run(){for(int i=0; i<50; i++){System.out.println(Thread.currentThread().getName()+"-->"+i);}}}public class TestThread2{public static void main(String []args){MyThread7 my = new MyThread7();Thread t = new Thread(my,"线程A");t.start();for(int i=0; i<50; i++){if(i>25){try{t.join();}catch(Exception e){}}System.out.println("Main线程运行-->"+i);}}}*//*两者的使用方法不同yieldThread.currentThread().yield(); joint.join();要捕捉异常*///2,sleep(睡眠)和interrupt(中断)/*class MyThread7 implements Runnable{public void run(){for(int i=0; i<5; i++){try{Thread.sleep(500);//达到延迟操作的效果}catch(Exception e){}System.out.println(Thread.currentThread().getName()+"-->"+i);}}}public class TestThread2{public static void main(String []args){MyThread7 my = new MyThread7();Thread t = new Thread(my,"线程A");t.start();}}*/class MyThread7 implements Runnable{public void run(){System.out.println("1,进入run方法");try{Thread.sleep(10000);System.out.println("2,已完成休眠");}catch(Exception e){System.out.println("3,休眠被终止");return;}System.out.println("4,run方法正常结束");}}public class TestThread2{public static void main(String []args){MyThread7 my = new MyThread7();Thread t = new Thread(my,"线程A");t.start();try{Thread.sleep(2000);}catch(Exception e){}t.interrupt();}}/*休眠多久,即是间隔多久*/