通讯库多线程问题
最近,用完成端口实现了一个通讯库。这是一个动态库,导出一个类似CAsyncSocket对象,
这样一个对象将绑定一个socket。由于是用完成端口模型实现的,因此导出的对象的肯定
会被通讯库中多个线程调用,也就是存在跨线程调用的问题。我想这样的实现方式在
应用程序中使用时可能会导致跨线程调用引起的错误,给应用程序的使用带来很多致命限制。
之前,已经用CAsyncSocket实现了一个相同接口的通讯库。这个通讯库主要完成打包、压缩流量统计、访问控制等功能。这次实现的通讯库,采用了相同的接口,性能倒是有了大幅度的提高,不过总感觉存在隐患。希望各位大虾发表一下意见,具体可能会出现哪些问题?有什么解决方法?还有一般通讯库设计一般有什么需要注意的地方?