java高并发抢单编程模型_Java高并发模型
package MainFixedFuc;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class SingleTest {
public static void main(String[] args) {
// 創建一個定長線程池,可控制線程最大并發數,超出的線程會在隊列中等待
ExecutorService executorService = Executors.newFixedThreadPool(10);
for (int k = 0; k < 10; k++) {
final int t = k;
executorService.submit(new Runnable() {
@Override
public void run() {
try {
getID(t);
} catch (Exception e) {
} finally {
}
}
}
);
}
// 平滑的關閉ExecutorService,當所有提交任務執行完畢,線程池即被關閉
executorService.shutdown();
while (true) {
// System.out.println("等待線程執行完成");
// isTerminated當調用shutdown()方法后,并且所有提交的任務完成后返回為true
if (executorService.isTerminated()) {
// System.out.println("線程執行完成");
break;
}
}
System.out.println("多線程執行完成");
}
public static int getID(int id) throws Exception {
Thread.sleep(3000);
System.out.println("任務id: " + id);
return id;
}
}
總結
以上是生活随笔為你收集整理的java高并发抢单编程模型_Java高并发模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql5.7 hibenate5.1
- 下一篇: java 文件夹存在文件_Java判断是