日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java多線程問題之同步器CyclicBarrier

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

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

 
 
 
  1. if (sessionParameter.getSourceThreadNum() > 1) {  
  2.                 System.out.println("多線程運(yùn)行");  
  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(); 

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


當(dāng)前標(biāo)題:Java多線程問題之同步器CyclicBarrier
URL網(wǎng)址:http://www.dlmjj.cn/article/dheeeeh.html