[英]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.