线程不安全?

发布于 2022-10-15 07:50:29 字数 140 浏览 25 评论 0

一个链表,两个线程。一个线程向链表里添加节点,一个线程遍历这个链表进行打印输出。
这两个线程会发生冲突导致操作失败吗?
感觉上它们之间存在冲突,但是我测试了多次,添加,打印操作都正常。这是为什么呢?如何让冲突的概率增大些呢?或者这两个操作根本就是不冲突的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心安伴我暖 2022-10-22 07:50:29

往尾部加不容易出错

沫离伤花 2022-10-22 07:50:29

如果是单向链表,则不会出错。因为最后修改链表只有一个原子语句。

last->next = node;

汇编可能是

mov edx, last
mov next[edx], node

潦草背影 2022-10-22 07:50:29

同意沙发的说法~~尾部靠谱~

夏末 2022-10-22 07:50:29

肯定有问题

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文