這是作業。從方法中刪除阻塞
我不想要解決方案,只是少量的鏈接或想法。
簡單地說就是我想要做的是,
簡單的例子:
public class Example
{
public void method()
{
int x = doThat();
//Call other methods which do not depend on x
return;
}
}
doThat()
是已知的耗時,導致我的程序阻塞,直到結果回來的方法。我想用這個對象的不同方法,但程序是frozen
,直到doThat()
完成。那些不同的方法不一定必須從本示例中使用的method()
中調用,但可能從對象外部調用。
我想過使用線程,但如果我有大量的對象(1000+)這可能不會是非常有效的(糾正我,如果我錯了請)。我猜如果我使用線程,我必須爲每個對象使用一個線程?
除了調用doThat();
時可以使調用對象不被阻塞的線程,還有其他方法嗎?如果線程是唯一的方法,你能提供一個鏈接嗎?
知道像這樣的問題得到downvoted我會接受任何downvotes。但請只是一個鏈接將是偉大的。
在此先感謝。我希望問題與規則是一致的。
(my)Common表示不可能只讓一個方法成爲線程化的,所以如果我讓類`Example`成爲線程類,當method()被阻塞時,我能夠調用該類的其他方法`doThat()`? – Muggen 2011-02-11 14:15:36