单线程同步;多线程异步理解
2013-03-23 15:58
344 查看
线程 和 异步是两个不同的概念. 首先说线程, 线程是CUP顺序执行指令的一个调度单位. 一个线程内的指令将会被顺序执行,Ps.跳转指令也是按照时序执行的. 多线程,是指同一时刻存在多个调度单位. 异步和同步, 举个例子说明异步吧, 我要洗衣服的时候,先打开上水管,然后再去抱脏衣服,在我抱脏衣服的同时,水上好了,上水过程就相当于我打开了一个异步工作. 我们实现异步的方法基本上就是使用多线程实现的, 比如一个工作线程每秒更新显示系统时间, 而我又需要计算一个复杂的计算结果,需要耗时两秒,如果在原来的线程中执行计算方法,则无法继续正常执行更新显示系统时间的功能,因为那个代码还没执行完,无法跳转到更新时间的代码.而如果我启动另外一个线程,只需花费0.1秒,然后就可以继续执行更新显示时间的工作了,当新建的计算线程运算完毕以后,将结果返回个原线程,原线程直接将结果更新一下,就可以了. 这个过程就完成了一个典型的利用多线程进行的异步运算.
采用多线程就是为了能够使用多线程的异步处理,可以并发多个线程同时处理不同的问题,互不影响,但是如果共用数据源的话就经常需要保证多线程的同步处理,不能使用异步,也就是说需要线程1处理完之后,线程2才能继续处理,这样的话和不使用多线程有什么区别吗?数据都是一条一条的执行的。。。
相关文章推荐
- 阻塞,非阻塞,单线程,多线程,异步,同步
- 多线程实战(四)——快速理解同步异步以及阻塞非阻塞
- 关于多线程中同步和异步的理解
- 阻塞,非阻塞,异步,同步,单线程,多线程
- 转载:关于多线程,并发、并行、同步、异步的理解
- Android 多线程 和异步的实践:跳转,同步显示时间,倒计时的实现,知识点
- 同步和异步的初步理解?
- 彻底理解:阻塞、非阻塞、同步、异步、Reactor、Proactor
- iOS中多线程知识总结:进程、线程、GCD、串行队列、并行队列、全局队列、主线程队列、同步任务、异步任务等(有示例代码)
- 并发 并行 同步 异步 多线程 阻塞 非阻塞的区别
- 理解同步与异步
- js中对同步和异步的理解
- 并发 并行 同步 异步 多线程的区别
- 回调函数、同步、异步、阻塞、非阻塞、D-BUS等概念的理解
- 网络编程中阻塞与非阻塞,同步与异步、I/O模型的理解
- 【多线程】线程安全、锁的同步和异步
- 简单理解同步与异步
- 怎样理解阻塞非阻塞与同步异步
- 网络编程中阻塞与非阻塞,同步与异步、I/O模型的理解
- 软件系统架构通俗理解之一:同步、异步、阻塞、非阻塞