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的时候则停止所有进程。