gpt4 book ai didi

multithreading - 访问TObjectList线程的不同索引是否安全?

转载 作者:行者123 更新时间:2023-12-03 18:56:19 24 4
gpt4 key购买 nike

我有一个需要由多个线程处理的TObjectList。由于内部TObjectList从TList继承而TList将其内部实现为数组,所以我想知道:

只要我们访问不同的索引,从不同的线程访问数组是线程安全的吗?

例如,有一个名为myObjectList的TObjectList:

开始= 0;
end = myObjectList.Count div 2;

线程1:

for i := 0 to end do
Process(myObjectList[i]);

线程2:
for i := end + 1 to myObjectList.Count - 1 do
Process(myObjectList[i]);

最佳答案

这样访问成员是完全可以的。
只要您不同时更改列表(例如添加,删除项目)即可。
如果某些基础对象相同,那么如果它们不是线程安全的,则可能会出现问题。

关于multithreading - 访问TObjectList线程的不同索引是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/919749/

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