当使用互斥锁时,你可以按照以下示例代码的模式来保护对共享资源的访问:
在上述示例代码中,我们定义了一个共享资源shared_resource,并创建了一个互斥锁mutex。critical_section函数表示临界区代码,其中对共享资源的访问被保护在互斥锁的获取和释放之间。main函数创建了多个线程,并同时访问临界区。
在每个线程中,它们都会尝试获取互斥锁。只有一个线程能够成功获取锁并进入临界区,其他线程将被阻塞,直到锁被释放。线程在临界区内对共享资源进行操作后,释放互斥锁,使其他线程可以获取锁并访问共享资源。
通过使用互斥锁,我们确保了对共享资源的访问是互斥的,避免了竞争条件和数据不一致的问题。
网友评论