![](/img/trans.png)
[英]Just slightly confused, as i do not know what the 'bottom' bits of a Hex int in java means
[英]Slightly confused on threading with Java
我目前正在與Netty.io
一起創建一個實驗項目,在該項目中,我將多個服務器實例(不同的偵聽端口)嵌套到單個應用程序中。 但是Netty幾乎接管了ChannelFuture
綁定到的線程。 如果願意,則Blocks the thread
。
因此,我決定需要創建一個TPS設置,類似於TPC(每個客戶端線程),應用程序將為每個服務器實例使用一個線程。
但是有一個問題。 我唯一一次創建線程是在需要執行可運行方法時。 但是,現在我試圖將一個類的整個實例綁定到線程,並且我對如何處理它感到非常困惑。
我知道的唯一方法(即使經過大約兩個小時的研究)也可以做到以下幾點,但是感覺不對。
public class Foo {
public FooBar fooBar;
private Foo() {
System.out.println("Foo Thread: " + Thread.currentThread().getId());
new Thread(new Bar(this)).start();
}
public static void main(String[] args) {
new Foo();
}
}
class Bar implements Runnable {
Foo foo;
public Bar(Foo foo) {
this.foo = foo;
}
@Override
public void run() {
foo.fooBar = new FooBar();
}
}
class FooBar {
public FooBar() {
System.out.println("FooBar Thread: " + Thread.currentThread().getId());
}
}
上面的代碼是可執行的,但這是正確的方法嗎? 在我看來,這確實有點黑,但是我對此沒有太多經驗。
據我了解,這是“如何在Java問題中創建線程”。 您的示例是創建線程的可接受方法。 為了簡潔起見,還可以使用匿名內部類:
(new Thread() { public void run() { /* enter code here */ }).start();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.