簡體   English   中英

同時運行2個線程

[英]Running 2 threads simultaneously

在IM客戶端的情況下。 我已經做了2個單獨的線程來處理發送數據包(通過std io)和接收數據包。 問題是如何使這兩個線程同時運行,以便我可以保持提示輸入,同時隨時准備接收數據包?

我已經嘗試過設置定時器,但數據總是丟失接收。

沒有更多細節,很難給出完整的答案。 不過,這是啟動兩個線程的代碼:

Thread thread1 = new Thread () {
  public void run () {
    // ... your code here
  }
};
Thread thread2 = new Thread () {
  public void run () {
    // ... your code here
  }
};
thread1.start();
thread2.start();

好吧,除非你有一台多處理器計算機,否則它們不會同時運行,但這通常不是問題。 將會發生的是,每個線程或多或少地會得到一些時間。

如果您正在丟失I / O,那可能不是線程是您真正的問題。 你能告訴我們你是怎么讀這些東西的嗎?

我想你可能錯過了Threads,Streams或兩者都有重要意義:-)

你可以像這樣開始一個新的線程:

myThread.start();

線程將被啟動,run()方法將由jvm自動執行。

如果線程run-method正在從Stream讀取,並且它是唯一一個讀取,它將不會“遺漏”該流中的任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM