①并发型模式(半同步/半异步模式):
并发编程的目的是让程序“同时”执行多个任务。
并发模式是指I/O(输入/输出)处理单元和多个逻辑单元之间协调完成任务的方法,在服务器上主要有两种并发编程模式:半同步/半异步模式 和 领导者/追随者模式。
半同步/半异步模式的同步和异步
在这个模式中的同步和异步与I/O模型的同步和异步是完全不同的两个概念。在并发模式中,“同步”是指程序完全按照代码序列的顺序执行,“异步”指的是程序执行需要系统事件来驱动。
Tips: I/O模型的同步是指线程启动一个IO操作然后等这个操作结束才开始往下执行,而异步是指线程发送一个IO请求到内核,此时操作已经开始执行,但不必等待,可以去执行其他操作,等到异步程序执行完毕就会提醒你。
同步线程和异步线程的优缺点:
-同步线程的效率比较低,实时性差,但是逻辑简单。
-异步线程效率较高,实时性强,但是异步方式执行程序比较复杂,难于调试和拓展,不适合大量的开发。
-因此为了得到良好的实时性,又要求并发性的应用程序,同时使用同步线程和异步线程是一种相当不错的模式。
半同步/半异步模式:
在半同步/半异步模式中,同步线程用于处理客户逻辑,异步线程用于处理I/O事件。异步线程监听到客户请求之后就将其封装成请求对象并插入到请求队列中。请求队列将通知某个工作在同步模式的工作线程来读取并处理该请求对象。
并发型模式(领导者/追随者模式):