如何使用带有或不带有互斥锁的多个pthread访问和修改相同的内存块?

因此,我有一个数组unsigned char words[64000][9],填充有零。我创建了两个pthread,一个将在数组中随机选择一行并将该行的最后一位翻转为1,另一个线程应读取相同的2D数组并检测其中哪一行具有1s。我已经创建了线程,并且正在像这样传递相同的数组-

pthread_create(&flip,NULL,flip_bit,(void*) (words));
pthread_create(&detect,detect_bit,(void*) (words));

现在我的问题是: 如何确保两个线程访问此线程并修改(执行其操作)SAME 2D数组?没有互斥锁就可以做到吗?如果必须使用互斥锁,如何针对我的情况实现它?

谢谢,我真的很感激。

iCMS 回答:如何使用带有或不带有互斥锁的多个pthread访问和修改相同的内存块?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1985611.html

大家都在问