互斥量是一种常用于解决多线程问题的编程概念。 那具体的
什么是互斥量,我该如何使用它?
互斥体是一个互斥的标志。它作为守门员的一段代码,允许一个线程进入并阻止对所有其他线程的访问。这确保了被控制的代码一次只能被一个线程所触发。只要确保在完成时释放互斥锁。:)
当我在工作中有一个激烈的讨论时,我会用一只橡皮鸡,这些橡皮鸡就放在我的办公桌上。拿鸡的人是唯一可以谈话的人。如果你不抱鸡,你就不会说话。你只能表明你想要这只鸡,等到你吃完之后再说。一旦你说完了,你可以把鸡肉交给主持人,他们会把它交给下一个人说话。这样可以确保人们不会互相讲话,也有自己的空间来交谈。
替换鸡与互斥体和线程的人,你基本上有一个互斥体的概念。
当然,没有像橡胶互斥体那样的东西。只有橡皮鸡。我的猫曾经有一只橡皮鼠标,但他们吃了它。
当然,在你使用橡皮鸡之前,你需要问自己,你是否真的需要5个人在一个房间里,一个人独自一人在房间里做所有的工作,会不会比较容易。其实,这只是扩大比喻,但你明白了。