這篇文章帶給大家的內容是關於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多線程的程式碼範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!