同步 异步 阻塞 非阻塞

133 阅读2分钟

网络通信的同步和异步

同步和异步是网络通信中常用的两个概念。

  • 同步指的是发送方在向接收方发送数据时,必须等待接收方确认之后才能继续发送下一组数据;
  • 异步指的是发送方在向接收方发送数据时,不需要等待接收方确认,可以直接发送下一组数据。

程序运行中的阻塞和非阻塞

阻塞和非阻塞是程序执行中常用的两个概念。

  • 阻塞指的是程序在执行一个操作时,如果该操作会导致程序阻塞,则程序将一直等待该操作完成之后才能继续执行下一步操作;
  • 非阻塞指的是程序在执行一个操作时,如果该操作会导致程序阻塞,则程序会立即返回并执行其他操作,同时定期检查该操作是否已经完成。

相同点:同步和异步、阻塞和非阻塞都是网络通信和程序执行中常用的两组概念,都与程序的执行流程和时间相关。

不同点:同步和异步主要区别在于发送方是否需要等待接收方确认;阻塞和非阻塞主要区别在于程序是否会一直等待某个操作的完成。

操作系统中进程的同步和异步

进程具有异步性的特征,异步性是指各并发执行的进程以各自独立的,不可预知的速度向前推进。 进程同步亦称直接制约关系,它是指未完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而产生的制约关系。进程间的直接制约关系就是源于他们之间的相互合作。