(1) synchronous and asynchronous, blocking, and non-blocking are two groups of concepts. There is no inevitable link between synchronization and blocking, and there is no inevitable link between asynchronous and non-blocking.
(2) synchronous and asynchronous: [Can you do other things while waiting?]: for example, when you go to a bank, scheduling is synchronous, and calling is asynchronous.
(3) blocking and non-blocking: The running status of the thread
(4) Whether it's the right or the call, if you cannot do other things while waiting, it is the blocking mode; otherwise, it is the non-blocking mode.
Synchronization: submit a request-> wait for the client to process the server (the client cannot do anything)-> process completed
Asynchronous: Submit the request-> wait for the client to process the server (the client can still do other things)-> process completed
Blocking refers to suspending the execution of a thread to wait for a condition to occur (the resource is ready)
Synchronous and asynchronous, blocking, and non-blocking