gpt4 book ai didi

.NET - Queue.Enqueue 方法线程安全吗?

转载 作者:行者123 更新时间:2023-12-04 16:41:47 24 4
gpt4 key购买 nike

假设我有一个模块,其中有一个队列。

对于其他实体入队,它们必须通过一个函数:

public sub InsertIntoQueue(Obj)
MyQueue.Enqueue(Obj)
end sub

如果我有多个线程正在运行并且他们想要调用 InsertIntoQueue(),这是否被认为是线程安全的?

我的印象是,执行 InsertIntoQueue() 函数所需的内存中只有一份指令副本……这会让我认为这是线程安全的。

但是,我想知道当两个线程尝试同时运行该函数时会发生什么?

这个线程安全吗?如果不是,我怎样才能让它线程安全? (以及关于速度和内存使用的性能影响是什么)

最佳答案

使用Queue.Synchronized包装。

关于.NET - Queue.Enqueue 方法线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1662854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com