簡化老師線程創(chuàng)建代碼
老師的代碼在線程被創(chuàng)建時的地方可以簡化如下,列出僅供參考:
首先ArmyRunnable類可以加上一個構造函數(shù),在構造函數(shù)中實現(xiàn)Thread類和start方法
public?class?ArmyRunnable?implements?Runnable?{ ???? Thread?thr; //volatile保證了線程可以正確的讀取其他線程寫入的值 //可見性?ref?JMM,?happens-before原則 ????????volatile?boolean?keepRunning; ArmyRunnable(String?name)?{ keepRunning?=?true; thr?=?new?Thread?(this,name);//this?返回一個對ArmyRunnable對象的引用 thr.start(); }
然后Stage類的線程創(chuàng)建代碼改動如下
????????????????ArmyRunnable?armyTaskOfSuiDynasty?=?new?ArmyRunnable("隋軍"); ArmyRunnable?armyTaskOfRevolt?=?new?ArmyRunnable("農民起義軍");
2015-10-17
什么時候用Thread創(chuàng)建線程,什么時候用Runnable接口呢?
2015-07-20
因為這樣可以創(chuàng)建Runnable對象的同時創(chuàng)建線程,簡化了代碼實現(xiàn)。
2015-07-18
為什么在 Runnable 的實例中創(chuàng)建 線程?????