1、多线程和异步的异同算法
一、多线程和异步的相同:均可以解决线程阻塞,响应慢的问题。数据库
二、多线程和异步的不一样:编程
异步线程能够减小共享变量,减小死锁可能,异步操做无须额外的线程负担。但采用回调方式复杂度较高,切不易调试。网络
多线程程中的处理程序依然是顺序执行,编程相对简单并且易理解,但编程简单本质上是进程中一段并发运行的代码,须要操做系统投入CPU资源来运行和调度,多线程
,线程的使用(滥用)会给系统带来上下文切换的额外负担。而且线程间的共享变量可能形成死锁的出现。并发
二 使用场景异步
一、异步适用于IO操做(文件,网络数据修改,数据库操做、Web Service、HttpRequest以及.Net Remoting等跨进程的调用)spa
二、多线程适用于须要长时间CPU运算的场合(例如耗时较长的图形处理和算法执行)操作系统
注意:能够使用线程来执行耗时较长的I/O操做。只适用于只有少数几个并发操做的时候,若是须要处理大量的并发操做时就不合适。线程