多线程中的task中的业务逻辑代码没有执行

KeepSayingNo KeepSayingNo 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
写了一个task类实现了runnable接口

public class IncTask implements Runnable {

public void run() {
Thread thread = Thread.currentThread();
System.out.println("hello_____________"+thread.getId()+":"+thread.getName());

try{
// 执行入库的操作,代码省略
Thread.sleep(1000);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}

}

}


然后写了一个测试类,里面构建了一个线程池,进行操作

public class ThreadTest {
@Test
public void testThread() {
ExecutorService executor = Executors.newFixedThreadPool(3);

for(int i =0;i<6;i++){
IncTask incThread = new IncTask();
executor.execute(incThread);
}

executor.shutdown();
}
}


如果在IncTask 类中没有入库的代码,则会在执行结果中显示有3个线程总共进行了6次操作。但是如果有了入库的代码,则只会有3个线程进行了3次操作,但是没有入库的记录。请教大神怎么样能在有入库的代码的时候进行6次入库的操作。
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
KeepSayingNo
Java SE 62,621 成员 307,251 内容