因此,我需要在C中实现线程之间的锁定机制。
某种替代方法:
pthread_mutex_lock
pthread_cond_wait (mostly for synchronization)
对于pthread_cond_wait,我进行了一些研究,发现可以使用Signals:sigwait,等待线程的列表...
但是我找不到解决方案来锁定对线程之间共享变量和数据的访问。
最佳答案
为什么需要替代品,是为了表现,运动还是其他?
spinlock是互斥锁的替代方法,但是没有退避机制,因此您必须忙于等待,通常不建议这样做。 pthread互斥锁被实现为具有futex退避功能的自旋锁。
pthread包含无退缩spinlock,因此您不必自己编写它。
如果这仅是一项运动,并且您可以称之为睡眠,则可以在此基础上有所建树。
您可以使用自旋锁来锁定某些状态管理变量并模拟条件,信号量等。
关于c - 如何在不使用互斥,futex和信号量的情况下实现“锁定”机制?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35814406/