同步、异步、阻塞、非阻塞

总是搞混,自己来稍微总结一下…(因为并没有具体到 I.O.,网络或线程等,只是大概的理解,用词不太准确请见谅)

同步、异步

  • 指的是任务的委托方如何获取执行方执行状态(是否完成任务)。是轮询执行方的执行状态,还是等待执行方执行完毕的通知。(例如:烧水时你是不断的一遍一遍的看水是否开了,还是听水开后的哨声)

阻塞、非阻塞:

  • 指的是委托方在得知执行方任务执行完成前(不管是委托方自己问的,还是执行方通知的),是否会死等,直到执行方返回执行结果。
  • 或者可能是以下另一种情况,从执行方来说,他会在接到任务时立即返回(不会阻塞委托方的执行),执行方会在真正完成任务后透过其他方式将结果给到委托方。