目前主流的网络驱动模型:事件驱动模型
事件驱动模型:也属于生产者/消费者结构,通过一个队列,保存生产者触发的事件,队列另一头是一个循环从队列里不断的提取事件。
大致流程如下:
1:首先生成一个事件消息队列
2:事件生成方产生一个时间或消息,然后将事件添加到此队列中。
3:队列的另一头有个循环,不断的从队列中取出事件,根据不同的事件,调用不同的函数(注每个事件名称即为函数名)
4:事件(消息)一般都各自保存各自的函数名,这样每个事件就都有独立的处理函数。
结构图:事件生成方生成事件 --》添加事件 --》 队列 --》 循环,从队列提取事件 -》每个事件对应的函数执行
事件驱动模型是一种编程范式,执行流由外部事件来决定。
特点:包含一个事件循环,当外部事件发生时使用回调机制来触发相应的处理,
另外2种常见的编程范式:(单线程)同步和多线程编程
请见:单线程,多线程,事件驱动模型对比图