首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在多线程环境中模拟挂起的线程?

如何在多线程环境中模拟挂起的线程?
EN

Stack Overflow用户
提问于 2018-04-13 00:27:09
回答 1查看 167关注 0票数 3

我们有一个处理数百万条记录的Java多线程环境。在生产环境中,观察到一些线程被挂起,等待同步方法。通过删除对synchronized方法的依赖提供了解决方法。

但是,仍然无法在开发环境中复制该问题,即多个线程在同步方法上挂起。在Dev中,所有线程在每次尝试中都会完成。有什么建议如何在Dev中复制这个问题来对补丁进行单元测试吗?

经过更多的分析,似乎starvation.Any指针的情况下如何在执行器框架中模拟饥饿?

EN

回答 1

Stack Overflow用户

发布于 2018-04-13 00:38:18

在您的DEV环境中,由于您无法创建类似于生产的环境来重新创建bug,因此您需要在synchronize块中引入一个长的睡眠语句,以便其他线程必须等待线程完成该synchronize块。因此,只需在synchronize块中添加一个长睡眠语句并尝试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49801632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档