我必須在新線程上調用第三方功能模塊。從我所看到的情況來看,如果一切進展順利,或者只是掛起線索鎖定,呼叫就會很快完成。有什麼方法可以啓動線程並進行調用並等待幾秒鐘,如果線程仍然活着,然後假設它已被鎖定,則可以在不使用任何廢棄方法的情況下殺死(或停止或放棄)線程。在java中識別和處理鎖定線程的最佳方法
我現在有類似的東西,但我不確定這是否是最好的方式來做到這一點,我想避免調用Thread.stop(),因爲它已被棄用。謝謝。
private void foo() throws Exception
{
Runnable runnable = new Runnable()
{
@Override
public void run()
{
// stuff that could potentially lock up the thread.
}
};
Thread thread;
thread = new Thread(runnable);
thread.start();
thread.join(3500);
if (thread.isAlive())
{
thread.stop();
throw new Exception();
}
}
所以基本上你想啓動一個線程,然後停止它,如果它仍然活着一段時間後? – 2010-06-17 19:15:39
@matt_b是的,正好! – 2010-06-17 19:43:02