摘要:
项目简介和code见《同步异步和阻塞2-测试小项目》 1. 实现 1> 异步线程IO处理 unsigned CAsyncIO::ThreadWork() { int nRet = IO(); //map is better than array at here, but it need STL unsigned uTid = GetCurrentThreadId(); ... 阅读全文
摘要:
项目简介和code见《同步异步和阻塞2-测试小项目》 1. 实现 由于IO是阻塞的,所以要实现轮询IO的结果,需要将IO放入线程中处理,IO的处理结果作为给线程的exit code返回。这里用“CBaseThread”简单的将线程处理函数封装到类中 在OnStart()中,先依次启动2个线程处理IO 阅读全文
摘要:
项目简介和code见《同步异步和阻塞2-测试小项目》 1. 实现 同步的实现很简单,依次call2次 IO() 函数,此时OnStart()由于是在主线程中调用的,IO()函数会阻塞主线程,当IO()完成后然后将结果通知给UI后立即返回。 当然,由于IO是阻塞的,所以所谓的IO处理进度是无法实现的, 阅读全文
摘要:
在《同步异步和阻塞1》中,分别说明了3种同步异步和阻塞非阻塞的优缺点,从这个blog开始,我们用一个小项目来进一步深入的看看他们的优缺点。 1. 项目简介 code : sync_io 编译 : C++, VS2010 项目有2个IO,按下”Start”按钮后就会开始按照不同的IO处理方法调用IO, 阅读全文