資源簡介
1. 建立三個線程,并且同時運行它們。當運行時輸出線程的名稱。
實驗步驟:
(1)、創建類sy6_1
(2)、創建三個線程,調用start()方法啟動這三個線程
(3)、保存文件,調試并編譯運行程序。
參考程序運行效果:
2. 實現3個類:Storage、Counter和Printer。 Storage類應存儲整數。 Counter應創建線程,線程從0開始計數(0,1,2,3…)并將每個值存儲到Storage類中。 Printer類應創建一個線程,線程讀取Storage類中的值并打印值。編寫程序創建Storage類的實例,并創建一個Counter對象和Printer對象操作此實例。
實驗步驟:
(1)、創建三個類Counter, Printer,Storage
(2)、創建TestCounter類,在該類中定義main函數,在main函數中定義Storage對象、Counter對象和 Printer對象,創建Counter線程和Printer線程并啟動
(3)、保存文件,調試并編譯運行程序。
參考程序運行效果:
3. 修改實驗1第2題的程序,添加適當代碼,以確保每個數字都恰好只被打印一次。
實驗步驟:
(1)、創建三個類Counter, Printer,Storage
(2)、 創建TestCounter類,在該類中定義main函數,在main函數中定義Storage對象、Counter1對象和 Printer對象,創建Counter線程和Printer線程并啟動
(3)、在定義Storage類中的setValue(int i) 和getValue ()方法時使用synchronized關鍵字,將其定義為同步方法
(4)、保存文件,調試并編譯運行程序。
參考程序運行效果:

代碼片段和文件信息
public?class?sy6_1?extends?Thread{
public?static?void?main(String[]?args)?{
ThreadFisrt?first?=?null;
ThreadSecond?second?=?null;
ThreadThird?third?=?null;
for(int?i=1;i<=5;i++)?{
first?=?new?ThreadFisrt();
first.start();
second?=?new?ThreadSecond();
second.start();
third?=?new?ThreadThird();
third.start();
}
}
}
class?ThreadFisrt?extends?Thread{
public?void?run()?{
System.out.println(“the?thread?is:?thread?1“);
}
}
class?ThreadSecond?extends?Thread{
public?void?run()?{
for(int?i=1;i<=5;i++)
System.out.println(“the?thread?is:?thread?2“);
}
}
class?ThreadThird?extends?Thread{
public?void?run()?{
for(int?i=1;i<=5;i++)
System.out.println(“the?thread?is:?thread?3“);
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????387222??2017-12-07?21:53??1.docx
?????文件????????588??2017-12-01?18:57??1-1和3\Main\.classpath
?????文件????????904??2017-12-01?18:58??1-1和3\Main\.project
?????文件????????567??2017-12-01?18:58??1-1和3\Main\.settings\.jsdtscope
?????文件????????364??2017-12-01?18:57??1-1和3\Main\.settings\org.eclipse.jdt.core.prefs
?????文件????????464??2017-12-01?18:57??1-1和3\Main\.settings\org.eclipse.wst.common.component
?????文件????????305??2017-12-01?18:58??1-1和3\Main\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件?????????49??2017-12-01?18:58??1-1和3\Main\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件??????????6??2017-12-01?18:58??1-1和3\Main\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????文件???????1304??2017-12-01?19:08??1-1和3\Main\build\classes\MyThread\SimpleThread.class
?????文件???????1184??2017-12-01?19:26??1-1和3\Main\build\classes\MyThread\ThreadFirst.class
?????文件????????713??2017-12-01?19:26??1-1和3\Main\build\classes\MyThread\ThreadSecond.class
?????文件????????877??2017-12-01?19:26??1-1和3\Main\build\classes\MyThread\TwoThread.class
?????文件????????724??2017-12-01?19:55??1-1和3\Main\build\classes\sy6_1.class
?????文件???????1042??2017-12-01?20:30??1-1和3\Main\build\classes\test6\Counter.class
?????文件???????1406??2017-12-01?20:30??1-1和3\Main\build\classes\test6\Printer.class
?????文件????????551??2017-12-01?20:03??1-1和3\Main\build\classes\test6\Storage.class
?????文件????????723??2017-12-01?20:13??1-1和3\Main\build\classes\test6\TestCounter.class
?????文件????????487??2017-12-01?19:55??1-1和3\Main\build\classes\ThreadFisrt.class
?????文件????????557??2017-12-01?19:55??1-1和3\Main\build\classes\ThreadSecond.class
?????文件????????555??2017-12-01?19:55??1-1和3\Main\build\classes\ThreadThird.class
?????文件????????632??2017-12-01?19:08??1-1和3\Main\src\MyThread\SimpleThread.java
?????文件???????1276??2017-12-01?19:26??1-1和3\Main\src\MyThread\TwoThread.java
?????文件????????763??2017-12-01?19:55??1-1和3\Main\src\sy6_1.java
?????文件????????598??2017-12-07?21:23??1-1和3\Main\src\test6\Counter.java
?????文件????????568??2017-12-07?21:23??1-1和3\Main\src\test6\Printer.java
?????文件????????285??2017-12-01?20:03??1-1和3\Main\src\test6\Storage.java
?????文件????????260??2017-12-07?21:24??1-1和3\Main\src\test6\TestCounter.java
?????文件?????????39??2017-12-01?18:57??1-1和3\Main\WebContent\me
?????文件????????727??2017-12-07?21:54??1-2\test6\Counter.java
............此處省略22個文件信息
評論
共有 條評論