标签: multithreading
我有两个线程A和B以及一些共享数据Data。两个线程都将调用函数f(),它将首先读取数据然后修改数据。 ReadData()和ModifyData()都是线程安全的,用互斥锁实现。
f(){ ReadData() ModifyData() }
我希望f()一次只能被一个线程调用,或者我想要整个调用ReadData()和ModifyData()。我该如何实现?我认为一种方法是在输入f后获取锁定并在退出f后释放锁定。