java Thread 問題

  1. public class Test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 for (int i = 0; i < 3; i++)
  6.                 {
  7.                         TestThread tt = new TestThread();
  8.                         System.out.println("Main   : " + tt.getName());
  9.                         tt.setName("ABC" + i);
  10.                         System.out.println("Main   : " + tt.getName());
  11.                         tt.start();
  12.                 }

  13. //                        TestThread tt = ;

  14.         }

  15.         public static class TestThread extends Thread
  16.         {
  17.                 public void run()
  18.                 {
  19.                         System.out.println("Thread : " + getName() + " is running.");
  20.                 }
  21.         }
  22. }
複製代碼
請問有冇咩方法可以用返晒之前果啲 thread 呀 ? (只計頭一個for loop 入面果啲)(ABC0 , ABC1 , ABC2)
前提係唔可以喺出面create 定啲thread出嚟代替for loop 入面嘅create thread

咁一係你要搵個variable sync返D thread 既野.你唔可以create定d thread咪create左個variable sync返你想要既野.
http://stackoverflow.com/questio ... fferent-instances-o

TOP

你既動機好好. 如果你有個loop要不停開新thread, 最好唔好不停開, 而係用Thread Pool.

想用返之前D thread, 你要用一個Thread Pool. 個pool有D worker thread. 有人要用時問個pool拎個得閒冇野做既thread, 如果冇thread得閒就要等. 用thread pool可以節省好多object/thread creation既overhead.

http://docs.oracle.com/javase/tu ... currency/pools.html
http://developer.amd.com/documen ... ges/1121200683.aspx

TOP

thanks~
try try sin

TOP