小编给大家分享一下java多线程案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1:
ExecutorService executor = new ThreadPoolExecutor(5, 5, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
list.forEach(a -> {
executor.submit(() -> {
// 业务操作
});
});
executor.shutdown();
try {
boolean loop = true;
do {
loop = !executor.awaitTermination(2, TimeUnit.SECONDS);
} while (loop);
} catch (InterruptedException e) {
Loggers.BIZ.error("error", e);
}
2:
// 产生一个 ExecutorService 对象,这个对象带有一个大小为 poolSize 的线程池,若任务数量大于 poolSize ,任务会被放在一个 queue 里顺序执行。
ExecutorService executor = Executors.newFixedThreadPool(5);
for (Integer num = 0; num < 999; num++) {
Runnable runner = new ThreadTest(num);
executor.execute(runner);
}
executor.shutdown();
executor.awaitTermination(Long.MAX_VALUE, TimeUnit.MINUTES);
ThreadTest
/**
* 多线程扩展方法
* */
public class ThreadTest implements Runnable {
/**
* table对象
*/
private Integer num;
public RecognitionTableThread(Integer num) {
this.num = num;
}
@Override
public void run() {
// 操作
}
}
以上是java多线程案例的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。