术语,概念理解——并发与并行,异步与同步,非阻塞与阻塞

并发与并行

并发和并行是相关的概念,但存在细微差别。并发意味着两个或多个任务正在取得进展,即使它们可能没有同时执行。例如通过时间切片来实现,其中任务的各部分被顺序执行并且与其他任务的部分混合。另一方面,当执行可以真正同时发生时,并行性就出现了。

异步与同步

如果调用方在方法返回值或抛出异常之前无法继续进行,则方法调用被视为同步。另一方面,异步调用允许调用者在有限数量的步骤之后前进,并且可以通过一些附加机制(它可以是注册的回调,Future或消息)来发信号通知方法的完成。

同步API可以使用阻塞来实现同步,但这不是必需的。CPU密集型任务可能会产生与阻塞类似的行为。通常,最好使用异步API,因为它们可以保证系统能够进步。

非阻塞与阻塞

如果一个线程的延迟可以无限延迟一些其他线程,就是阻塞。一个很好的例子是一个资源,它可以由一个使用互斥的线程专门使用。如果线程无限期地保留资源(例如,意外地运行无限循环),则等待资源的其他线程无法进行。相反,非阻塞意味着没有线程能够无限期地延迟其他线程。

非阻塞操作比阻塞操作更受欢迎,因为当它包含阻塞操作时,系统的整体进度并不是很容易保证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值