Blocking vs. nonblocking I/O

- [Instructor] Blocking vs. Nonblocking is almost synonymous…with saying synchronous or asynchronous,…but it's often used in the context of I/O, input/output.…So for those of you who have talked to databases…over the networks or to local storage…or even remote storage, you understand…that from your point of view,…this is an operation that'll take a long time.…From the calling thread, we would like to ask…for this operation to happen, and then carry on…with our own work, and then be notified…when the data is available,…when the operation has completed.…

When it comes to disks and networks,…these are expected to be operations that take a long time…in the milliseconds, hopefully not in the seconds sense.…Then, when we issue those instructions,…a blocking call would mean…that we have to wait for the I/O to complete.…A nonblocking call, similar to asynchronous,…would mean that we are not going to wait…for the operation to complete on the calling thread.…So we call into an API, and it returns almost immediately,…and we carry on.…

Resume Transcript Auto-Scroll

Author

Released

10/5/2017

Discover how to improve the scalability and performance of your applications using asynchronous programming in C#. In this course, join Anton Delsink as he explores different options for parallelizing your code, and shows how asynchronous programming is done with C#. Anton covers key concepts, including unit tests, delegates, lambdas, and anonymous methods. He also covers multithreading, async keywords, tasks, and more.