gpt4 book ai didi

multithreading - D 中数组的线程安全性?

转载 作者:行者123 更新时间:2023-12-01 19:38:40 25 4
gpt4 key购买 nike

请多多包涵,因为我是新手。

我有一个数组和两个线程。

第一个线程在需要时向数组追加新元素

myArray ~= newArray;

第二个线程在需要时从数组中删除元素:

extractedArray = myArray[0..10];
myArray = myArray[10..myArray.length()];

这个线程安全吗?当两个线程同时在数组上交互时会发生什么?

最佳答案

不,它不是线程安全的。如果您跨线程共享数据,那么您需要自己通过 synchronized statements 等工具使其成为线程安全的。 , synchronized functions , core.atomic , 和 mutexes .

但是,需要指出的另一件大事是,默认情况下,D 中的所有数据都是线程本地的。因此,您不能跨线程访问数据,除非它是明确的 shared .因此,您通常根本不必担心线程安全。只有当您明确共享数据时,这才是问题。

关于multithreading - D 中数组的线程安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10121966/

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