{"id":36969,"date":"2019-01-26T16:03:28","date_gmt":"2019-01-26T16:03:28","guid":{"rendered":"https:\/\/www.oracletutoring.ca\/blog\/?p=36969"},"modified":"2019-01-26T16:03:34","modified_gmt":"2019-01-26T16:03:34","slug":"computer-science-blocking-vs-non-blocking-input-output","status":"publish","type":"post","link":"https:\/\/www.oracletutoring.ca\/blog\/computer-science-blocking-vs-non-blocking-input-output\/","title":{"rendered":"Computer science: blocking vs non-blocking input\/output"},"content":{"rendered":"\n<h2>Self-tutoring about computer science: the tutor mentions the concepts of blocking and non-blocking i\/o.<\/h2>\n\n<table class=\"jan24_mobile\">\n<tr><th>mode<\/th><th>effect<\/th><\/tr>\n<tr><td>blocking<\/td><td>program waits for external process that it calls<\/td><\/tr>\n<tr><td>non-blocking<\/td><td>program continues past external process call, possibly even finishing before it receives response from external process<\/td><\/tr>\n<\/table>\n<p>\nBecause non-blocking code can complete before the external process it called, there&#8217;s a risk that the output it asks for, it won&#8217;t pass on. The situation is comparable to someone asking a co-worker for a file, but then leaving the office before the co-worker brings it. The file then sits on the desk, its contents unread.\n<\/p>\n<p>\nSource:\n<\/p>\n<p>\n<a href=\"https:\/\/nodejs.org\/en\/docs\/guides\/blocking-vs-non-blocking\/\">nodejs.org<\/a>\n<\/p>\nJack of <a href=\"https:\/\/www.oracletutoring.ca\">Oracle Tutoring by Jack and Diane,<\/a> Campbell River, BC.\n\n","protected":false},"excerpt":{"rendered":"<p>Self-tutoring about computer science: the tutor mentions the concepts of blocking and non-blocking i\/o. mode effect blocking program waits for external process that it calls non-blocking program continues past external process call, possibly even finishing before it receives response from &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/www.oracletutoring.ca\/blog\/computer-science-blocking-vs-non-blocking-input-output\/\"> <span class=\"screen-reader-text\">Computer science: blocking vs non-blocking input\/output<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[105],"tags":[],"class_list":["post-36969","post","type-post","status-publish","format-standard","hentry","category-computer-science"],"_links":{"self":[{"href":"https:\/\/www.oracletutoring.ca\/blog\/wp-json\/wp\/v2\/posts\/36969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.oracletutoring.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.oracletutoring.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.oracletutoring.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oracletutoring.ca\/blog\/wp-json\/wp\/v2\/comments?post=36969"}],"version-history":[{"count":4,"href":"https:\/\/www.oracletutoring.ca\/blog\/wp-json\/wp\/v2\/posts\/36969\/revisions"}],"predecessor-version":[{"id":36973,"href":"https:\/\/www.oracletutoring.ca\/blog\/wp-json\/wp\/v2\/posts\/36969\/revisions\/36973"}],"wp:attachment":[{"href":"https:\/\/www.oracletutoring.ca\/blog\/wp-json\/wp\/v2\/media?parent=36969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oracletutoring.ca\/blog\/wp-json\/wp\/v2\/categories?post=36969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oracletutoring.ca\/blog\/wp-json\/wp\/v2\/tags?post=36969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}