小编给大家分享一下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多线程案例的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。