java多線程處理數據
發布時間: 2021-03-10 07:09:16
『壹』 java 多線程 對集合數據的處理
因為多線程就不是為了增加速度存在的,而是為了優化用戶體驗,你要增快速度只有在硬體或者底層優化。
『貳』 java多線程,假設一個list有1W條數據, 現在我想用多線程不重復的讀取list中的數據,要怎麼寫
先收下原理:
第一個線程讀取0-2500
第二個線程讀取2500-5000
.......
importjava.util.ArrayList;
importjava.util.List;
publicclassTest{
publicstaticvoidmain(String[]args){
intnum=10000;
intthread=4;//線程數
finalList<Email>list=newArrayList<Email>();
for(inti=0;i<num;i++){
Emaile=newEmail();
e.setUsername(i+"");
list.add(e);
}
finalintavg=num/thread;//每個線程讀取的郵件數量
List<Thread>listThreads=newArrayList<Thread>();
for(inti=0;i<thread;i++){
//四個線程一起工作
finalintcount=i;
listThreads.add(newThread(){
@Override
publicvoidrun(){
for(intj=0;j<avg;j++){
intnumber=j+count*avg;//郵件的編號
System.out.println(list.get(number).getUsername());
}
}
});
}
for(inti=0;i<thread;i++){
listThreads.get(i).start();
}
}
}
『叄』 java 多線程並發請求數據,只要有一條線程獲得數據,則其他線程終止運行,並列印出獲得的數據
這邊我寫了一個例子,兩個線程同時獲取隨機數,當獲取的值為68的時候則停止所有進程。