首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并发编程练习

并发编程练习
EN

Stack Overflow用户
提问于 2021-10-14 11:36:37
回答 1查看 72关注 0票数 1

我必须解决这个问题,但我真的不知道怎么开始!

我的意思是,我认为第a部分的解决方案可能是,如果线程s正在运行,并且未知()返回500,那么线程t将无法继续,然后在499轮之后,线程s也将终止,因此这可能是程序结束的执行。但是,如果未知()在返回500后,下一轮返回499,会发生什么?线程t可以重新启动吗?

我真的不知道怎么解决它!

如果有人能解释我,真的很感激!这门课程是在线的,所以我不知道我的课程伙伴,我也不知道该找谁帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-14 13:21:38

线程的执行仅由n1的值控制。不管未知的返回值是什么,它都将终止,前提是未知返回一个数值。

线程t的执行仅由n2的值控制。在线程的执行过程中,变量n2会以未知的方式受到影响,但是线程最终会终止。一旦线程终止,那么n2只受线程t的影响,其值最终将超过线程2的终止值500。

此解决方案的关键之一是,由int类型表示的计算机整数值没有无限范围。递增这样的int变量最终会导致超过500的值。

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

https://stackoverflow.com/questions/69570018

复制
相关文章

相似问题

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