有没有一种方法可以仅通过一个原子变量写入从多个线程添加到列表?

问题描述 投票:0回答:1

我知道你可以:

  1. 锁定互斥锁、写入数据、解锁互斥锁。
  2. 设置原子标志,写入数据,取消设置原子标志。

有没有一种方法可以只用一次原子写入来做到这一点?我在想也许是一个链表,其中指针是一个原子变量或其他东西?不可能使用连续内存的动态数组,对吗?

computer-science
1个回答
0
投票

并发列表通常是链表。 向链表添加一个元素需要修改两个指针。您可以使用互斥锁(简单)或使用非常聪明的程序来完成此操作。 但你需要不止一次写入。

© www.soinside.com 2019 - 2024. All rights reserved.