标题: 随记三 [打印本页]

作者: liuyang    时间: 2012-1-11 20:33
标题: 随记三
    这或许是我最后一次在软件上学习的冲刺了。 

            上周就开始研究网络通信完成端口,异步模式。到现在完成端口虽然知道流程了,但是感觉理解并不透彻。刚刚突然又理解了一部分。创建的工作线程用该就是线程 池了,通过GetQueuedCompletionStatus()来管理的,我看了号多资料了,这个理解应该和GetMessage()取消息差部多意 思。当有客户端连接时,把接受到的套接字句柄与完成端口关联,向套接字上投递收包WSARecv()立刻返回,这个操作实际是和异步模式 WSAAsyncSelect()没什么区别,我自己的理解的两者区别:完成端口 在函数返回时系统会把SOCKET上接受数据写入到I/O(指定缓冲区)中,接收完成后系统会把完成断口对象放入到完成端口等待的队列,然后工作线程 GetQueuedCompletionStatus()会取出队列中的完成端口对象,进行相应的处理。 异步模式 我们一般会在消息处理函数里添加响应的代码,事实上等异步模式响应接收数据的时候,数据早已经到达且等候多时了。所以异步模式响应的效率相对完成端口慢。

                遗留的问题:异步模式是立即返回,通过在消息响应函数中进行处理的,有必要使用多线程吗?如果阻塞模式使用多线程的话,CPU会把大量时间消耗在线程调度,那我也写个线程管理机制,这样效率是不是能接近完成端口? 

         碰到线程管理,让我又找了点资料发现WINDOWS核心编程与windows高级编程指南,我以前稍微看了下,那时侯水平还很菜,没看懂,我想现在也是重 新来翻来深究的时候了。现在越来越不喜欢MFC框架了,但是现在研究MFC源代码还欠火候,要不先把WINDOWS/C编程全部熟练了再往下走。 得好好 研究下这些东西。继续冲刺下....

        在想这些东西或许以后还会用到,不管怎样先玩下再说,单片机嘛,不急,只要原理性的东西理解了,下次再写这些代码只是盏茶的工夫而已。

           这次 回家补充了点精力,呵呵。  继续努力,勤能补拙,得好好花心思啊,自己都落后兄弟太多了,长辈的嘴,我勉强的笑了笑,虽然赚不到钱还是得努力赚。

             这生活就是狗咬着猫,猫追着鼠,鼠恐吓人,人棒打狗,全不是一回事。哪天生活太落魄了,身边一堆人笑话你,真不是回事。我若有本事早就挖挖土把所有人给埋 了,可惜啊,被人挖挖土埋了半截身子,看着月亮无奈的叹了口气,这日子什么时候到头啊,于是把头深深的埋进土里了,等着来年发芽长得更茁壮点。  上帝那个打酱油的,以前还可以,不知道什么时候开始整天就知道把妹了,不管我们的死活了,都脸贴着地过日子了,他也不出来帮下忙,去找他,他甩了这么一句 话,你又手有脚有脑袋,不会自己想办法嘛,话虽有理,可起码让我们看见点希望才行吗,没有一丝光明的路,哪来的勇气继续走下去啊,从那天开始我跟随了佛 祖,岂知他更不管事,万法随缘,我都快没饭下锅了,你还给我念叨这个,真是那个什么的.........  晕好像写挖了,这是技术文章,怎么写自己的牢骚了,哎,与其发牢骚还不如自己想办法,做得实际的事吧,就写到这里吧,完毕。






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1