逐步实现TCP服务端Step03-13:消息队列相关

消息队列就是存放消息的队列,而消息的表现形式为“对象”,也就是说这个队列实际上是消息对象队列。

我们希望队列能更通用一些,不仅可以存放消息对象,也可以存放X对象,Y对象和Z对象。Object是它们的一般情况。

对象与一般的内置类型不同 ...


逐步实现TCP服务端Step02-5:是否需要同步?

两个线程协作基于“单入单出循环队列”,即:只有一个线程向队列里写数据,只有一个线程从队列里拿数据。communicator将“产品”放入g_c2s_code_queue队列,processor从该队列中取“产品”;processor将“产品”放入g_s2c_code_queue队列,communicator从中取“产品”。

负责生产的线程会向队尾写数据,然后写end变量(队尾索引);负责消费的线程只会去写begin变量(队首索引)。也就是说虽然队列是共享的,但是两个线程并没有对同一块内存施加写操作。就这一点来看是安全的 ...


循环式code queue

Push code back

将code排到队尾,用四个字节来记录该code的长度。

Pop ...