【发布时间】:2020-04-01 07:35:15
【问题描述】:
假设我们有多个线程和一个负责保存实时数据的公共List。我们有一些线程负责将数据添加到列表对象。另一个线程负责从列表对象中获取数据,然后从顶部删除项目。
问题:从List 的开头删除并同时在单独的线程中将数据添加到列表末尾是否安全? List对象是如何实现的?
【问题讨论】:
-
不,这不安全,基于你想要实现结帐并发集合,尤其是
ConcurrentQueue<T>docs.microsoft.com/en-us/dotnet/api/… -
@SelimYıldız 我的意思是它是在列表对象中实现的还是我们必须方便使用?
标签: c# multithreading thread-safety