自定義類MyThread 實現Runnable介面,主函式建立5個執行緒,自定義執行緒類的建構函式輸出 建立執行緒X
阿新 • • 發佈:2019-01-22
package com.heima.gu;
import java.util.HashMap;
public class Test01 {
/**自定義類MyThread 實現Runnable介面,主函式建立5個執行緒,自定義執行緒類的建構函式輸出 建立執行緒X
* run方法內統計每個執行緒 一共6次
* 用hashmap 集合 統計每個執行緒的次數,建立一個集合。
* @param args
*/
static HashMap<String, Integer> hm = new HashMap<String, Integer>();
public static void main(String[] args) {
for(int i = 1; i <= 5;i++){
new Thread(new MyThread1("執行緒"+i),"執行緒"+i){
}.start();
hm.put("執行緒"+i, 0);
}
}
}
class MyThread1 implements Runnable{
public MyThread1(String str){
System.out.println("建立" +str);
}
int count = 6;
@Override
public void run() {
while(true){
synchronized (MyThread.class) {
String threadName = Thread.currentThread().getName();
if(Test01.hm.get(threadName) >= count){
break ;
}else{
Test01.hm.put(threadName, Test01.hm.get(threadName)+1);
System.out.println(threadName+" :計數"+ Test01.hm.get(threadName));
}
}
}
for (String str : Test01.hm.keySet()) {
System.out.println("**"+str+"*******"+Test01.hm.get(str));
}
}
}