自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java多線程問題之同步器CyclicBarrier

開發(fā) 后端
關于Oracle遷移到mysql的遺留問題,當在查看數(shù)據(jù)的時候,發(fā)現(xiàn)兩個庫數(shù)據(jù)量不一致。最后證實了我的看法,我修改代碼時將10個進程簡成1個單線程來完成了。所以數(shù)據(jù)量會少那么多呢。具體原因請看內(nèi)容

還是上次的oracle遷移到mysql的遺留問題,當我在查看數(shù)據(jù)的時候,發(fā)現(xiàn)兩個庫數(shù)據(jù)量不一致。最后證實了我的看法,我修改代碼時將10個進程簡成1個單線程來完成了。所以數(shù)據(jù)量會少那么多呢。

原因很簡單當時就是這個函數(shù)CyclicBarrier,當時不理解具體的意思:

  1. if (sessionParameter.getSourceThreadNum() > 1) {  
  2.                 System.out.println("多線程運行");  
  3.                 CyclicBarrier barrier = new CyclicBarrier(sessionParameter  
  4.                         .getSourceThreadNum() + 2);  
  5.                 for (int i = 0; i <= sessionParameter.getSourceThreadNum(); i++) {  
  6.                     dataSyncThread dataSync = new dataSyncThread(barrier, i,  
  7.                             sDataSource, tDataSource, sessionParameter);  
  8.                     dataSync.start();  
  9.                 }  
  10.                 long start = System.currentTimeMillis();  
  11.                 barrier.await();  
  12.                 barrier.await();  
  13.                 long end = System.currentTimeMillis(); 

在實際應用中,有時候需要多個線程同時工作以完成同一件事情,而且在完成過程中,往往會等待其他線程都完成某一階段后再執(zhí)行,等所有線程都到達某一個階段后再統(tǒng)一執(zhí)行。 其中,的barrier就是相當于一個阻斷,障礙器,CyclicBarrier最重要的屬性就是參與者個數(shù),另外最要方法是await()。當所有線程都調(diào)用了await()后,就表示這些線程都可以繼續(xù)執(zhí)行,否則就會等待。只有達到CyclicBarrier(int number)中number的數(shù)量,才能使程序中的10個進程同步進行互不干擾。

原文鏈接:http://blog.csdn.net/chen861201/article/details/7629933

責任編輯:林師授 來源: chen861201的博客
相關推薦

2020-06-18 10:50:56

Java并發(fā)同步器

2011-06-22 13:57:54

Java多線程

2011-06-22 13:47:16

Java多線程

2010-01-21 11:23:49

Linux多線程同步消息隊列

2010-01-21 11:22:35

Linux多線程同步

2021-04-12 08:21:48

AQSjavajvm

2021-04-13 14:07:22

JUC解析AQS抽象

2009-03-12 10:52:43

Java線程多線程

2021-04-21 07:53:12

Java限流器管理

2009-07-01 17:34:03

Servlet和JSP

2010-01-21 11:27:30

linux多線程機制線程同步

2011-04-14 13:27:53

Synchronize多線程

2010-03-15 19:37:00

Java多線程同步

2009-07-03 16:53:11

Servlet容器

2025-01-13 09:24:32

2015-07-22 09:39:38

IOS多線程同步

2015-07-22 09:51:51

iOS開發(fā)線程

2019-07-31 09:06:35

Java跳槽那些事兒文章

2020-11-16 08:11:32

ReentrantLo

2011-08-30 15:44:57

C#
點贊
收藏

51CTO技術棧公眾號