摘要:
基本概念观察者模式中有最基本的两个角色:Observable和Observer。涉及到的基本操作有:Observable在Observer中订阅,要接受消息。Observable取消注册(或者Observer将其删除)。Observer有了消息之后通知Observable。总的来看还是比较简单的。Observer中保存所有的Observable,然后在需要通知的时候调用notifyObservers来实现。下面是观察者模式的类图:对于java中的观察者模式框架下面给出一个例子:import java.util.Observable;import java.util.Observer;class 阅读全文
摘要:
1、让出处理器 Linux提供一个系统调用运行进程主动让出执行权:sched_yield。进程运行的好好的,为什么需要这个函数呢?有一种情况是用户空间线程的锁定。如果一个线程试图取得另一个线程所持有的锁,则新的线程应该让出处理器知道该锁变为可用。用户空间锁没有内核的支持,这是一个最间单、最有效率的做法。但是现在Linux线程实现引入一个使用futexes的优化解决方案。 另一个情况是在有处理器密集型程序可用周期性调用sched_yield,试图将该进程对系统的冲击减到最小。不管怎么说,如何调度程序应该是系统的事情,而不是进程自己去管。eg:int main(){ int ret, i... 阅读全文