{"id":232,"date":"2022-04-06T10:35:09","date_gmt":"2022-04-06T01:35:09","guid":{"rendered":"https:\/\/www.kd2.jp\/memo3\/?p=232"},"modified":"2022-04-06T10:38:13","modified_gmt":"2022-04-06T01:38:13","slug":"%e3%82%bb%e3%83%9e%e3%83%95%e3%82%a9","status":"publish","type":"post","link":"https:\/\/www.kd2.jp\/memo3\/?p=232","title":{"rendered":"\u30bb\u30de\u30d5\u30a9"},"content":{"rendered":"<p>Python\u3067\u30bb\u30de\u30d5\u30a9\u3002<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;python&quot;,&quot;mime&quot;:&quot;text\/x-python&quot;,&quot;theme&quot;:&quot;eclipse&quot;,&quot;lineNumbers&quot;:true,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:false,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">import threading\r\nimport time\r\n\r\ndef do_thread(semaphore, id):\r\n    with semaphore:\r\n        for i in range(5):\r\n            print('start', id, i)\r\n\u3000\u3000\u3000\u3000\u3000\u3000time.sleep(1)\r\n\r\nif __name__ == '__main__':\r\n    # \u30bb\u30de\u30d5\u30a9\u306e\u6570\u306f2\r\n    sem = threading.Semaphore(2)\r\n    t1 = threading.Thread(target=do_thread, args=(sem, 'A'))\r\n    t2 = threading.Thread(target=do_thread, args=(sem, 'B'))\r\n    t3 = threading.Thread(target=do_thread, args=(sem, 'C'))\r\n    t1.start()\r\n    t2.start()\r\n    t3.start()<\/pre>\n<\/div>\n<p>\u30b9\u30ec\u30c3\u30c9\u306e\u540c\u6642\u5b9f\u884c\u6570\u306f\u30bb\u30de\u30d5\u30a9\u306e\u6570\u3068\u306a\u308b\u3002<br \/>\n\uff12\u3064\u306e\u30b9\u30ec\u30c3\u30c9A\u3001B\u306e\u51e6\u7406\u304c\u7d42\u308f\u308b\u307e\u3067\u30b9\u30ec\u30c3\u30c9C\u306f\u5f85\u305f\u3055\u308c\u308b\u3002<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;null&quot;,&quot;mime&quot;:&quot;text\/plain&quot;,&quot;theme&quot;:&quot;eclipse&quot;,&quot;lineNumbers&quot;:true,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:false,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">$ python semtest1.py\r\nstart A 0\r\nstart B 0\r\nstart A 1\r\nstart B 1\r\nstart B 2\r\nstart A 2\r\nstart B 3\r\nstart A 3\r\nstart B 4\r\nstart A 4\r\nstart C 0\r\nstart C 1\r\nstart C 2\r\nstart C 3\r\nstart C 4<\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Python\u3067\u30bb\u30de\u30d5\u30a9\u3002 import threading import time def do_thread(semaphore, id): with semaphore: for i in range(5): pri&hellip; <a class=\"more-link\" href=\"https:\/\/www.kd2.jp\/memo3\/?p=232\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">\u30bb\u30de\u30d5\u30a9<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/www.kd2.jp\/memo3\/index.php?rest_route=\/wp\/v2\/posts\/232"}],"collection":[{"href":"https:\/\/www.kd2.jp\/memo3\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kd2.jp\/memo3\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kd2.jp\/memo3\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kd2.jp\/memo3\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=232"}],"version-history":[{"count":4,"href":"https:\/\/www.kd2.jp\/memo3\/index.php?rest_route=\/wp\/v2\/posts\/232\/revisions"}],"predecessor-version":[{"id":236,"href":"https:\/\/www.kd2.jp\/memo3\/index.php?rest_route=\/wp\/v2\/posts\/232\/revisions\/236"}],"wp:attachment":[{"href":"https:\/\/www.kd2.jp\/memo3\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kd2.jp\/memo3\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kd2.jp\/memo3\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}