java

位置:IT落伍者 >> java >> 浏览文章

Java多线程对耗时方法的同步问题


发布日期:2023年12月09日
 
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()写成线程安全的就好了

上一篇:Java多线程中wait语句的具体使用方法

下一篇:Java开源UML建模