Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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
Multithreading 允许使用pthreads进行RAR(读取后再读取)_Multithreading_Locking_Pthreads_Mutex - Fatal编程技术网

Multithreading 允许使用pthreads进行RAR(读取后再读取)

Multithreading 允许使用pthreads进行RAR(读取后再读取),multithreading,locking,pthreads,mutex,Multithreading,Locking,Pthreads,Mutex,我有一个跨多个线程共享的哈希映射,当不同线程读/写哈希映射时,需要锁定该哈希映射。然而,写操作很少发生,大约每小时一次,但可以在任何时候发生。读取非常频繁,大约每秒10000次读取。读取可以并行执行,因为它们不会修改数据结构,但在我当前的实现中,我在读取和写入期间都会锁定,以防止WAR、RAW和WAW冲突。然而,几乎所有的时间里,我都会遇到RAR冲突,而这些冲突实际上不会引起问题。我可以锁定互斥锁的最好方法是什么,仅用于读取还是仅用于写入,以允许RAR同时发生?您在寻找什么?正是我在寻找的!如果

我有一个跨多个线程共享的哈希映射,当不同线程读/写哈希映射时,需要锁定该哈希映射。然而,写操作很少发生,大约每小时一次,但可以在任何时候发生。读取非常频繁,大约每秒10000次读取。读取可以并行执行,因为它们不会修改数据结构,但在我当前的实现中,我在读取和写入期间都会锁定,以防止WAR、RAW和WAW冲突。然而,几乎所有的时间里,我都会遇到RAR冲突,而这些冲突实际上不会引起问题。我可以锁定互斥锁的最好方法是什么,仅用于读取还是仅用于写入,以允许RAR同时发生?

您在寻找什么?正是我在寻找的!如果我能回答你的意见,我会的。