现在的位置: 首页 > 综合 > 正文

并发,同步,异步,阻塞,非阻塞,线程

2013年12月03日 ⁄ 综合 ⁄ 共 767字 ⁄ 字号 评论关闭

一个cpu没有真正意义的并发,两个人同时做同样的事情才是真正意义上的并发,只有统筹分时处理.多路同步

同步,实时处理并且活动按顺序执行
异步,一个人合理的安排时间来做事情,分时处理,活动分段执行,非顺序执行

阻塞模式,等,同步,并发,异步都有可能会阻塞,只是机率的大小
非阻塞模式 不等

并发,并发都是使用线程,
线程线程的沟通有:主线程->副线程,主线程<-副线程

回调(副调主)
轮询调(主调副)
通知(副调主,通过中间人方式)

 

一个线程就是一个场景

==============================

C#线程参考手册

线程的目的是任务的分解执行,
分开执行,提高资源的利用率,减少总任务的时间(提高系统响应时间)
任务的协同(同步),管理,资源的组织分配问题,不要问题分配不好而产生打架问题(死锁)

就是多人干比一个人干好点

其实任务的生命周期图就是线程的生命周期:

干中,准备干,暂停(挂起(指挥系统调用),sleep,自已调用)

其实单核cpu因为只有一个指挥系统,没有真正的并行,只能异步,统筹分时处理.多路同步

==============================
事件:当某某的条件满足时,发生的动作称为事件,
事件按引发的条件源不同分为四种:
更改事件(由状态发生变化所引发的动作)
时间事件(时间因子作为事件的源)
信号(消息)
调用(主动调用)

如果说override是纵向的,向下的扩展方式(偶合紧),那么事件可以说是一种横向的扩展方式(偶合松一些),
进程间的协议通讯是分布式的(偶合最松)

如果说状态是由于执行了某某动作,而引用属性值发生变化,状态机,方法->字段
那么事件一般是当属性满足某某的时,将会发生的动作方法,字段->方法

单播delegate,多播MutiDelegate都事件的传播方式(向外扩展,灵活),event是多播固化方式

 

抱歉!评论已关闭.