您好,请问一下为什么在server中加一个write_queue_?
Closed this issue · 3 comments
fyzhr commented
是不是为了避免类似sample里的async_read和async_write互相嵌套这种写法,将逻辑(也就是echo_msg放在read或者write中),将一个处理事件与一个msg产生一一关联,使用队列保证了线程安全?
owenliang commented
写队列就是先后发起的写操作要排队,依次写出去的意思。
你也知道asio是preactor模式,它是在写完成后回调用户,内部不会帮你处理多次先后send的排队问题的。
如果你要在前1个写完成之前,就发起下1个写操作,这会导致asio的socket出问题,说白了你没有按照它的假设来玩,一定是会玩错的。
fyzhr commented
谢谢大佬指点,说的太明白了!
fyzhr commented