周末看了看了 Disruptor, 然后和以前的看的一些框架、SDK、RPC等,感觉都似曾相识。
1. Producer -----> Executor (buffer, cache, mq) --->consumer ( register listener)
2. 高度化面向接口设计,再加上泛型编程(GenericProgramming), 就是C++里的模板编程。不同的类有相似的行为
3. 采用并发编程,必然涉及到线程池,Executor
4. Event-Trigger 模式,类似于OS的 中断。 万物想通啊 ,当初 MFC 的事件处理机制再次应用到 分布式处理中(MFC中事件处理在UI线程里)。
5. Task 模式,生产者提交生产任务,消费者提交消费任务。当然,任务都需要实现相关的接口,通过接口就把一些数据打通了。如SocketChannle, BufferChannle等
6. EventLoop, Executor, EventProcessor, Channle, Handler, Listener, Buffer, Task, Submmit, Future<?> 等, 都是必不可少的。
7. 并发编程必然会涉及到各种锁,CountdownLatch, AutomicInteger, CopyOnWrite,等等。这些锁底层都使用了OS提供的互斥对象,OS在访问互斥对象的时候都借用了
硬件的禁止中断等