{"id":1460,"date":"2009-07-08T01:07:51","date_gmt":"2009-07-07T16:07:51","guid":{"rendered":"http:\/\/terzeron.com\/?p=1460"},"modified":"2009-07-08T01:07:51","modified_gmt":"2009-07-07T16:07:51","slug":"%eb%a9%80%ed%8b%b0%ec%93%b0%eb%a0%88%eb%94%a9%ec%97%90-%eb%8c%80%ed%95%b4","status":"publish","type":"post","link":"https:\/\/terzeron.com\/?p=1460","title":{"rendered":"\uba40\ud2f0\uc4f0\ub808\ub529\uc5d0 \ub300\ud574"},"content":{"rendered":"<p><a href=\"http:\/\/software.intel.com\/file\/14723\">OMG, Multi-Threading is Easier Than Networking<\/a><\/p>\n<p>\uc778\ud154\uc5d0\uc11c \uc791\uc131\ud55c \uba40\ud2f0\uc4f0\ub808\ub529 \uad00\ub828 \ubc31\uc11c\uc774\ub2e4. \uc0ac\uc2e4 \ucef4\ud4e8\ud130 \uad00\ub828 \ud559\uacfc\uc758 OS\ub098 DB \uc218\uc5c5 \uc2dc\uac04\uc5d0 \ub2e4 \ubc30\uc6b0\ub294 \ub0b4\uc6a9\uc774\ub2e4. \ud558\uc9c0\ub9cc \uc54c\uba74\uc11c\ub3c4 \ud5f7\uac08\ub9ac\uace0, \uc544\ub294 \uc904 \uc54c\uc558\ub294\ub370 \uc798\ubabb \uc54c\uace0 \uc788\ub294 \uac83\uc774 \ubc14\ub85c \uba40\ud2f0\uc4f0\ub808\ub529\uacfc \ub3d9\uae30\ud654 \uad00\ub828 \ub0b4\uc6a9\uc774\ub2c8 IT \ucd08\ub144\ucc28\ub4e4\uc740 \uc77d\uc5b4\ubd04\uc9c1 \ud558\ub2e4.<\/p>\n<p>\ub098\ub984\ub300\ub85c \uc911\uc694\ud55c \ud3ec\uc778\ud2b8\ub4e4\uc744 \uc815\ub9ac\ud574\ubd24\ub2e4.<\/p>\n<p><strong>\ub2f9\uc5f0\ud55c \uc0ac\uc2e4<\/strong><br \/>\nthread\ub4e4\uc740 memory\ub97c \uacf5\uc720\ud558\uc9c0\ub9cc register\ub098 stack\uc740 \ub530\ub85c \uac00\uc9d0<\/p>\n<p><strong>decomposition<\/strong> &#8211; \uba40\ud2f0\uc4f0\ub808\ub4dc\ub97c \uc4f0\ub824\uba74 \ubb54\uac00 \ubd84\ud560\ud574\uc57c \ud568<br \/>\nfunctional decomposition: job\uc744 task\ub85c \ubd84\ud574\ud558\uace0 \ub370\uc774\ud130\ub294 \uacf5\uc720\ud568<br \/>\ndata decomposition: task\uac00 \ub2e4\ub978 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud568<\/p>\n<p><strong>lock\uc758 \uc885\ub958<\/strong><br \/>\ncritical section: \uac00\ub2a5\ud55c cs\ub97c \uc791\uac8c \ub9cc\ub4e4\uc5b4\uc57c \ud568. single process\uc6a9. \ube60\ub984<br \/>\nmutex: multi process\uc6a9. \ub290\ub9bc<br \/>\nsemaphore: multi-mutexes<br \/>\nevent:\ub9d0 \uadf8\ub300\ub85c \uc774\ubca4\ud2b8, \ub05d\ub098\uace0 \uc54c\ub824\uc918\uc57c \ud568<\/p>\n<p><strong>deadlock <\/strong> &#8211; \ub204\uad6c\ub098 \uc544\ub294 \ubb38\uc81c, \uadf8\ub7ec\ub098 \uc798 \ubaa8\ub974\ub294 \ubb38\uc81c<br \/>\n<a href=\"http:\/\/en.wikipedia.org\/wiki\/Deadlock#Coping_with_Deadlock\">deadlock \ud574\uacb0\ucc45<\/a><br \/>\n1) prevention<br \/>\n2) avoidance<br \/>\n3) detection<br \/>\n* race condition: \uc2e4\ud589 \uc21c\uc11c\ub098 \ud0c0\uc774\ubc0d\uc5d0 \ub530\ub77c \ubbf8\ubb18\ud558\uac8c, \uc758\ub3c4\ud558\uc9c0 \uc54a\uc740 \ucc44\ub85c \uacb0\uacfc\uac00 \ub2e4\ub974\uac8c \ub9cc\ub4e4\uc5b4\uc9c0\ub294 \uc0c1\ud669<\/p>\n<div class=\"fb-background-color\">\n\t\t\t  <div \n\t\t\t  \tclass = \"fb-comments\" \n\t\t\t  \tdata-href = \"https:\/\/terzeron.com\/?p=1460\"\n\t\t\t  \tdata-numposts = \"100\"\n\t\t\t  \tdata-lazy = \"true\"\n\t\t\t\tdata-colorscheme = \"light\"\n\t\t\t\tdata-order-by = \"time\"\n\t\t\t\tdata-mobile=true>\n\t\t\t  <\/div><\/div>\n\t\t  <style>\n\t\t    .fb-background-color {\n\t\t\t\tbackground: #ffffff !important;\n\t\t\t}\n\t\t\t.fb_iframe_widget_fluid_desktop iframe {\n\t\t\t    width: 100% !important;\n\t\t\t}\n\t\t  <\/style>\n\t\t  ","protected":false},"excerpt":{"rendered":"<p>OMG, Multi-Threading is Easier Than Networking \uc778\ud154\uc5d0\uc11c \uc791\uc131\ud55c \uba40\ud2f0\uc4f0\ub808\ub529 \uad00\ub828 \ubc31\uc11c\uc774\ub2e4. \uc0ac\uc2e4 \ucef4\ud4e8\ud130 \uad00\ub828 \ud559\uacfc\uc758 OS\ub098 DB \uc218\uc5c5 \uc2dc\uac04\uc5d0 \ub2e4 \ubc30\uc6b0\ub294 \ub0b4\uc6a9\uc774\ub2e4. \ud558\uc9c0\ub9cc \uc54c\uba74\uc11c\ub3c4 \ud5f7\uac08\ub9ac\uace0, \uc544\ub294 \uc904 \uc54c\uc558\ub294\ub370 \uc798\ubabb \uc54c\uace0 \uc788\ub294 \uac83\uc774 \ubc14\ub85c \uba40\ud2f0\uc4f0\ub808\ub529\uacfc \ub3d9\uae30\ud654 \uad00\ub828 \ub0b4\uc6a9\uc774\ub2c8 IT \ucd08\ub144\ucc28\ub4e4\uc740 \uc77d\uc5b4\ubd04\uc9c1 &hellip; <a href=\"https:\/\/terzeron.com\/?p=1460\">\uacc4\uc18d \uc77d\uae30 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[9],"tags":[],"class_list":["post-1460","post","type-post","status-publish","format-standard","hentry","category-9"],"_links":{"self":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/posts\/1460","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1460"}],"version-history":[{"count":0,"href":"https:\/\/terzeron.com\/index.php?rest_route=\/wp\/v2\/posts\/1460\/revisions"}],"wp:attachment":[{"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1460"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1460"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/terzeron.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}