{"id":9148,"date":"2020-04-28T09:47:46","date_gmt":"2020-04-28T00:47:46","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=9148"},"modified":"2020-05-28T09:30:45","modified_gmt":"2020-05-28T00:30:45","slug":"python%ec%9d%98-thread-api","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=9148","title":{"rendered":"Python\uc758 Thread API"},"content":{"rendered":"<p>Python\uc758 \uc5b8\uc5b4\uc801 \ud55c\uacc4\ub85c Thread \uae30\ub2a5\uc758 \uc9c0\uc6d0\uc774 \uc801\ud569\ud558\uc9c4 \uc54a\ub2e4\uace0 \ud558\uc9c0\ub9cc, \ubb38\uc81c\uc810\uc744 \ucd5c\ub300\ud55c \uac1c\uc120\ud558\uc5ec GIL\uc774\ub77c\ub294 \uc7a5\uce58\ub97c \ud1b5\ud574 \uc9c0\uc6d0\ud55c\ub2e4\uace0 \ud569\ub2c8\ub2e4. GIL\uc740 Global Interpreter Lock\uc758 \uc57d\uc790\uc785\ub2c8\ub2e4. \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport threading\r\n\r\nclass T(threading.Thread):\r\n    def __init__(self):\r\n        threading.Thread.__init__(self)\r\n        pass\r\n\r\n    def run(self):\r\n        for i in range(100):\r\n             print(self.name, i)\r\n<\/pre>\n<p>13\ubc88 \uc904\uc758 \ucf54\ub4dc\uc778 self.name\uc740 Thread-n\uacfc \uac19\uc740 \uc2a4\ub808\ub4dc\uc758 \ub0b4\ubd80 \uc774\ub984\uc774\uba70, \uc5ec\uae30\uc5d0\uc11c n\uc740 \ub0b4\ubd80 \ubc88\ud638\uc785\ub2c8\ub2e4. \uc55e\uc11c \uc815\uc758\ud55c \uc2a4\ub808\ub4dc T\uc758 \uc0ac\uc6a9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nts = [T() for i in range(4)]\r\n\r\nfor t in ts:\r\n    t.start()\r\n<\/pre>\n<p>\ucd1d 4\uac1c\uc758 \uc2a4\ub808\ub4dc\ub97c \uc0dd\uc131\ud558\uace0 start \ub9e4\uc11c\ub4dc\ub97c \ud1b5\ud574 \uc2a4\ub808\ub4dc\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python\uc758 \uc5b8\uc5b4\uc801 \ud55c\uacc4\ub85c Thread \uae30\ub2a5\uc758 \uc9c0\uc6d0\uc774 \uc801\ud569\ud558\uc9c4 \uc54a\ub2e4\uace0 \ud558\uc9c0\ub9cc, \ubb38\uc81c\uc810\uc744 \ucd5c\ub300\ud55c \uac1c\uc120\ud558\uc5ec GIL\uc774\ub77c\ub294 \uc7a5\uce58\ub97c \ud1b5\ud574 \uc9c0\uc6d0\ud55c\ub2e4\uace0 \ud569\ub2c8\ub2e4. GIL\uc740 Global Interpreter Lock\uc758 \uc57d\uc790\uc785\ub2c8\ub2e4. \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. import threading class T(threading.Thread): def __init__(self): threading.Thread.__init__(self) pass def run(self): for i in range(100): print(self.name, i) 13\ubc88 \uc904\uc758 \ucf54\ub4dc\uc778 self.name\uc740 Thread-n\uacfc \uac19\uc740 \uc2a4\ub808\ub4dc\uc758 \ub0b4\ubd80 \uc774\ub984\uc774\uba70, \uc5ec\uae30\uc5d0\uc11c n\uc740 \ub0b4\ubd80 \ubc88\ud638\uc785\ub2c8\ub2e4. \uc55e\uc11c &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=9148\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Python\uc758 Thread API&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[131],"tags":[],"class_list":["post-9148","post","type-post","status-publish","format-standard","hentry","category-python"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/9148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9148"}],"version-history":[{"count":6,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/9148\/revisions"}],"predecessor-version":[{"id":9320,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/9148\/revisions\/9320"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9148"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}