Java NIO 執行緒 的一個問題
對於下面JavaNIO的程式碼:
while(true){
int n = selector.select();
if(n == 0) continue;
......
if(key.isacceptable){
....
}
if(key.isReadable()){
processdata p = new processdata(key);
Thread t = new Thread(p);
t.start();
}
總是出現下面的問題,就是線上程t執行到一半的時候,由於key還沒有讀完,它還是readable的,而此時外部的死迴圈繼續執行。由於readable,會出現同一個客戶端發來的訊息由多個執行緒同時處理的情形,應該如何解決,謝謝!!
while(true){
int n = selector.select();
if(n == 0) continue;
......
if(key.isacceptable){
....
}
if(key.isReadable()){
processdata p = new processdata(key);
Thread t = new Thread(p);
t.start();
}
總是出現下面的問題,就是線上程t執行到一半的時候,由於key還沒有讀完,它還是readable的,而此時外部的死迴圈繼續執行。由於readable,會出現同一個客戶端發來的訊息由多個執行緒同時處理的情形,應該如何解決,謝謝!!
相關文章
- Java 多執行緒NIO學習Java執行緒
- 40 個 Java 多執行緒問題總結Java執行緒
- 深入JAVA執行緒安全問題Java執行緒
- Java多執行緒中執行緒安全與鎖問題Java執行緒
- Java 執行緒安全問題的本質Java執行緒
- 05.java多執行緒問題Java執行緒
- Java併發(11)- 有關執行緒池的10個問題Java執行緒
- 面試系列-40個Java多執行緒問題總結面試Java執行緒
- Java多執行緒面試高配問題---多執行緒(3)🧵Java執行緒面試
- 最常見的15個Java多執行緒,併發面試問題Java執行緒面試
- Java之執行緒安全問題的3種處理方式(通過執行緒同步)Java執行緒
- Java多執行緒和併發問題集Java執行緒
- ArrayList 的執行緒安全問題執行緒
- java執行緒的筆試題Java執行緒筆試
- 【Java面試】如何中斷一個正在執行的執行緒?Java面試執行緒
- Java執行緒池一:執行緒基礎Java執行緒
- 多個執行緒順序列印問題,一網打盡執行緒
- java面試一日一題:java執行緒池Java面試執行緒
- 記一個有意思的面試題 → 執行緒交替輸出問題面試題執行緒
- 手動造一個執行緒池(Java)執行緒Java
- 有個關於多執行緒的識別問題執行緒
- 03 執行緒安全問題執行緒
- SimpleDateFormat 執行緒安全問題ORM執行緒
- 關於Java多執行緒的執行緒同步和執行緒通訊的一些小問題(順便分享幾篇高質量的博文)Java執行緒
- parallelStream中的執行緒安全問題Parallel執行緒
- Java多執行緒學習(一)Java多執行緒入門Java執行緒
- 死磕 java執行緒系列之自己動手寫一個執行緒池Java執行緒
- Java併發專題(一)認識執行緒Java執行緒
- Java面試中,一些常見的有關多執行緒問題!Java面試執行緒
- 【Windbg】記一次執行緒卡主的問題執行緒
- Java多執行緒(一)多執行緒入門篇Java執行緒
- Java執行緒(一):執行緒安全與不安全Java執行緒
- Java面試題:執行緒池內“鬧情緒”的執行緒,怎麼辦?Java面試題執行緒
- 執行緒中斷以及執行緒中斷引發的那些問題執行緒
- 子執行緒使用父執行緒RequestScope作用域Bean問題的探究執行緒Bean
- Java執行緒篇——執行緒的開啟Java執行緒
- 【Java多執行緒】執行緒安全的集合Java執行緒
- Java多執行緒-執行緒池的使用Java執行緒
- 加入一個執行緒執行緒