Synchronize asynchronous, blocking and non-blocking

about Synchronize asynchronous, blocking and non-blocking understanding, read a lot of blogs do not know whether the following summary is correct, please take a look at it.

Synchronize and asynchronism:
mainly describes the dependency between tasks . Suppose Task A calls Task B, and Task A waits for Task B to continue execution. This is called Synchronize. If Task An immediately returns the result after calling Task B, and notifies An actively after B finishes execution, it becomes asynchronous at this time.

blocking and non-blocking:
mainly describes the relationship between task and CPU resources . Suppose task A calls task B, task A needs to wait for task B to continue execution, and CPU also keeps task A waiting all the time. This is called blocking. However, if CPU suspends the thread of task A to execute other threads at this time, it comes back from time to time to ask A whether the blocking is over, and thread A can be executed only when it is finished. This is called non-blocking

.

I don"t know if there is any deviation in this understanding. I hope you can give me some advice

.
Mar.12,2021

Synchronize blocking, Synchronize non-blocking, asynchronous non-blocking are the concepts in the network model. Landlords can find this similar blog to have a look: https://www.cnblogs.com/aspir. this is what I learned at that time


No problem. Synchronize and asynchronism focus on the message communication mechanism. The so-called Synchronize means that when the caller issues a "call", the "call" does not return until the return result is obtained. Once the call returns, you get the result. Async means that after a "call" is made, the caller can return directly without waiting for the result of the call. After getting the result of the call, the callee notifies the caller

blocking and non-blocking are concerned with the state of the program while waiting for the result of the call. The
blocking call means that the current thread is suspended until the result is returned by the caller.
the non-blocking call value does not block the current process when the result is not immediately available.

Menu