国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java基礎-多線程實現順序執行

2019-11-06 06:37:17
字體:
來源:轉載
供稿:網友

1.效果圖:

2.代碼:

//可以繼承Thread重寫run函數public class MultipleThreadStudy extends Thread {    /*	MultipleThreadStudy(){}	MultipleThreadStudy(String name){		super(name);	}*/	//重寫Thread的run函數	public void run(){		for(int i=0;i<10;i++)		{			System.out.PRint("MultipleThreadStudy:i="+i);						try			{				Thread.sleep((int)Math.random()*1000);			}			catch(Exception e)			{				e.printStackTrace();			}			System.out.println("");		}	}		//******************************************多線程*********************************************************	//不論是用繼承的Thread方法還是用Runnable接口實現的方法,java里面的多個線程同時運行時,不是順序執行,而是并行執行	//如果需要順序執行,則需加判斷前一個線程是否執行完畢	//如果要順序執行,方法一:判斷線程isAlive是否在運行中,不停循環直至結束	//方法二:調用join方法	//快捷鍵注釋代碼:Ctrl+Shift+/     (/*  */  形式的) 或   Ctrl+/   (//  形式的)	//快捷鍵取消注釋:Ctrl+Shift+/     (/*  */  形式的) 或   Ctrl+/   (//  形式的)	public static void main(String[] args) {		//************繼承Thread重寫run函數的線程***************		MultipleThreadStudy thread1=new MultipleThreadStudy();		MultipleThreadStudy thread2=new MultipleThreadStudy();		MultipleThreadStudy thread3=new MultipleThreadStudy();		//thread1.setPriority(1);  //設置優先級		//thread2.setPriority(2);		//thread3.setPriority(3);		System.out.println("............thread1 run...............");		thread1.start();		//方法一:判斷線程isAlive是否在運行中,不停循環直至結束		while(thread1.isAlive())		{			try			{				Thread.sleep(100);			}			catch(Exception e)			{				e.printStackTrace();			}		}		System.out.println("............thread2 run...............");		thread2.start();		while(thread2.isAlive())		{			try			{				Thread.sleep(100);			}			catch(Exception e)			{				e.printStackTrace();			}		}		System.out.println("............thread3 run...............");		thread3.start();		while(thread3.isAlive())		{			try			{				Thread.sleep(100);			}			catch(Exception e)			{				e.printStackTrace();			}		}				//************實現Runnable的接口方法run函數*************		Runnable rb1=new RunnableThread();		Runnable rb2=new RunnableThread();		Runnable rb3=new RunnableThread();		Thread runnableThread1=new Thread(rb1);//鼠標移到Thread,按alt+/的方式看需傳的參數		Thread runnableThread2=new Thread(rb2);		Thread runnableThread3=new Thread(rb3);		System.out.println("...runnableThread1 run...");		runnableThread1.start();		//方法二:調用join方法	    try	    {			runnableThread1.join();		}		catch(Exception e)		{			e.printStackTrace();		}	    System.out.println("...runnableThread2 run...");		runnableThread2.start();		try		{			runnableThread2.join();		}		catch(Exception e)		{			e.printStackTrace();		}		System.out.println("...runnableThread3 run...");		runnableThread3.start();	}}//可以實現Runnable的接口方法run函數class RunnableThread implements Runnable{	public void run(){		for(int i=0;i<10;i++)		{			System.out.print("RunnableThread:i="+i);						try			{				Thread.sleep((int)Math.random()*1000);			}			catch(Exception e)			{				e.printStackTrace();			}			System.out.println("");		}	}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尤溪县| 宣恩县| 荣成市| 保康县| 黄石市| 中江县| 兴国县| 类乌齐县| 定西市| 青岛市| 门头沟区| 嘉义县| 准格尔旗| 溧水县| 浮山县| 正蓝旗| 康马县| 北流市| 栾川县| 磐石市| 留坝县| 襄城县| 威远县| 青州市| 定安县| 山西省| 开封市| 仁怀市| 海门市| 北安市| 修武县| 鄢陵县| 滨州市| 漯河市| 汽车| 柞水县| 谷城县| 武隆县| 南投县| 阿鲁科尔沁旗| 鄂州市|