我有下面的代碼試樣片,問題的同步
public class test implements Runnable{
public void run()
{
synchronized(this)
{
for(int i=0;i<10000;i++)
System.out.println(i);
}
}
public static void main(String args[]) throws Exception
{
Thread t=new Thread(new test());
t.start();
//Thread.sleep(100);
t.suspend();
System.out.println("Hi");
}
}
我有以下的要求,當線程被掛起它必須執行該循環的所有迭代而不會掛起。我覺得同步是爲了這個目的,但它沒有解決問題。當我掛起一個線程,如果它在一個同步塊中,那麼它必須在塊被執行後才被掛起。什麼java結構可以用於這個?
注意的可能性Thread.suspend ()已被棄用。 http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html#suspend() – 3urdoch 2011-04-16 19:52:44