Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在Objective-C中同时修改C数组安全吗?_Ios_Objective C_C_Arrays_Concurrency - Fatal编程技术网

Ios 在Objective-C中同时修改C数组安全吗?

Ios 在Objective-C中同时修改C数组安全吗?,ios,objective-c,c,arrays,concurrency,Ios,Objective C,C,Arrays,Concurrency,我正在探索iOS上的并发加速,并且刚刚开始使用Objective-C并发编程。我从一个简单的图像灰度缩放示例开始(我知道我可以用OpenGL更有效地实现这一点,但我认为这是一个足够好的大数据集示例) 基本上,我将把图像分成不同的象限,并将一组块排队,每个块都有自己的象限进行计算。我将数据存储在一个简单的UInt8*imageData中数组,我想知道我是否可以同时访问这个数组。如果没有,是否有另一个数据结构允许我这样做?只要线程接触到它的不同部分,您就可以了。好的,很高兴听到这个消息。谢谢同时从不

我正在探索iOS上的并发加速,并且刚刚开始使用Objective-C并发编程。我从一个简单的图像灰度缩放示例开始(我知道我可以用OpenGL更有效地实现这一点,但我认为这是一个足够好的大数据集示例)


基本上,我将把图像分成不同的象限,并将一组块排队,每个块都有自己的象限进行计算。我将数据存储在一个简单的
UInt8*imageData中数组,我想知道我是否可以同时访问这个数组。如果没有,是否有另一个数据结构允许我这样做?

只要线程接触到它的不同部分,您就可以了。好的,很高兴听到这个消息。谢谢同时从不同的线程读取是可以的。无论有多少线程同时读取和写入,它都不会损害数组。当然,如果一个正在读取的线程“看到”由于另一个线程同时写入而导致的不一致数据,这对整个程序来说可能是一个问题,但数组本身不会在意。只要不同内核处理的数组部分沿着缓存线边界分开,事情就应该可以正常工作。