
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
下面昆明达内培训小编跟大家说说:并发编程的两个重点知识,目前各种高并发的技术也是层出不穷,那为什么是官方的文档还是有很多各种并发编程方面的书籍,小编在阅读的时候都会遇到一些比较专业名词,那现在就跟大家说说同步与异步,并发和并行这两个重要知识解释与应用吧。
一、同步与异步
同步和异步通常来形容一次方法调用。
解释一:同步方法调用一旦开始,调用者必须等到方法的调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者可以继续后续的操作。
解释二:同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
二、并发和并行
解释一:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。
解释二:并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。
解释三:在一台处理器上“同时”处理多个任务,在多台处理器上同时处理多个任务。如hadoop分布式集群
并发偏重于多个任务交替执行,而多个任务之间有可能还是串行的。而并行是真正意义上的“同时执行”。
严格意义上来说,并行的多个任务是真实的同时执行的,而对于并发来说,这个过程只是交替的,一会儿执行A,一会儿执行B,系统会不停的在两者之间切换。但对于外部观察者来说,即使多个任务之间是串行并发的,也会造成多任务间是并行执行的错觉。
实际上,如果系统内只有一个CPU,而使用多进程或者多线程任务,那么真实环境中这些任务不可能是真实并行的,毕竟一个CPU一次只能执行一条指令,这种情况下多进程或者多线程就是并发,而不是并行(操作系统会不停切换多个任务)。真实的并行也只可能出现在拥有多个CPU的系统中(比如多核CPU)。
详情请登陆达内培训官网:http://km.tedu.cn