总结:有一个读线程和一个写线程访问同一个内存空间,但没有同步。是否存在任何运行时错误(非逻辑错误)或破坏进程或线程的风险?
我正在尝试制作一个简单的任务调度程序。
有一些工作线程,它们有自己的任务队列。
任务调度程序将任务推送到工作队列。
我希望调度程序知道最不忙的线程,其队列最短。
所以我需要一些共享整数变量来存储每个队列的长度。
每个工作线程将自己的队列长度写入特定变量。
调度程序读取这些变量以了解最短的变量。
所以每个变量都有一个读和一个写。
这是 RW 问题,我需要一个互斥锁。
但我不想要任何开销并且知道队列的确切长度。
所以我想让线程在不同步的情况下访问共享值。
有什么问题,没有不准确的价值?