熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

Java多線程對耗時方法的同步問題

2013-11-23 19:52:38  來源: Java高級技術 

  各位大牛小弟現在遇到一個問題就是使用多線程調用一個耗時的方法如何同步?代碼大體如下:

  Java代碼:

  final ScheduledExecutorService scheduler = ExecutorsnewScheduledThreadPool();

  final BusinessService service = new BusinessService();

  for(int i = ; i < ; i++)

  {

  schedulerscheduleWithFixedDelay(new Runnable(){

  @Override

  public void run() {

  servicehandleBusiness();

  }

  } i TimeUnitMINUTES);

  }

  這個時候如果在handleBusiness()方法上加上

  Java代碼:

  synchronized

  其它線程就進不了這個方法因為這個方法需要耗時分鐘左右大家幫忙想想有啥好的解決辦法能讓所有線程不等待就可以調用這個方法又保持原子操作

  解決方法handleBusiness()寫成線程安全的就好了


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27607.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.