text: (window.webpackJsonp=window.webpackJsonp||[]).push([[132],{347:function(e,t,o){"use strict";o.r(t);var r=o(2),a=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"说说-semaphore-原理"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#说说-semaphore-原理"}},[e._v("#")]),e._v(" 说说 Semaphore 原理")]),e._v(" "),o("p",[o("code",[e._v("Semaphore")]),e._v(" 直译为信号。实际上 "),o("code",[e._v("Semaphore")]),e._v(" 可以看做是一个信号的集合。不同的线程能够从 "),o("code",[e._v("Semaphore")]),e._v(" 中获取若干个信号量。当 "),o("code",[e._v("Semaphore")]),e._v(" 对象持有的信号量不足时，尝试从 "),o("code",[e._v("Semaphore")]),e._v(" 中获取信号的线程将会阻塞。直到其他线程将信号量释放以后，阻塞的线程会被唤醒，重新尝试获取信号量。")])])}),[],!1,null,null,null);t.default=a.exports}}]);