【头脑风暴!】MFC 多线程 程序设计有关问题
【头脑风暴!】MFC 多线程 程序设计问题
现要设计一个程序,功能如下:
1,从网络接收zip格式的压缩文件(内含同名的bmp文件)
2,zip文件接收完成后解压并显示出来
为不影响网络传输,要求1与2互相不干扰。我做了个多线程,但是Static UINT函数里面操作类变量好麻烦。
我想zip接收完成后,开始解压线程,解压完后关闭线程,如此循环。但不知线程总是开开关关对程序有没有影响
求完美的解决方案&……
------解决方案--------------------
主线程跑ui,message loop。网络线程收到数据后把数据当参数post一个user message给主线程处理做显示就行了。
------解决方案--------------------
如果是长期运行的程序, 线程运行后最好是挂起,一要退出再重新创建.
其它就是线程间同步的问题了, 你这几个线程就像一个流水线, 一个负责收,一个负责解压,一个负责显示.
这就需要一个队列, 接收队列保存N个ZIP, 因为显示的速度肯定比解压快, 所以解压不需要队列.
------解决方案--------------------
随便弄个可并行读写的队列就可以了吧, 然后接收线程收到zip就往列表写入, 解压线程一直等待, 有数据来了就进行解压, 这就解决了吧
现要设计一个程序,功能如下:
1,从网络接收zip格式的压缩文件(内含同名的bmp文件)
2,zip文件接收完成后解压并显示出来
为不影响网络传输,要求1与2互相不干扰。我做了个多线程,但是Static UINT函数里面操作类变量好麻烦。
我想zip接收完成后,开始解压线程,解压完后关闭线程,如此循环。但不知线程总是开开关关对程序有没有影响
求完美的解决方案&……
------解决方案--------------------
主线程跑ui,message loop。网络线程收到数据后把数据当参数post一个user message给主线程处理做显示就行了。
------解决方案--------------------
如果是长期运行的程序, 线程运行后最好是挂起,一要退出再重新创建.
其它就是线程间同步的问题了, 你这几个线程就像一个流水线, 一个负责收,一个负责解压,一个负责显示.
这就需要一个队列, 接收队列保存N个ZIP, 因为显示的速度肯定比解压快, 所以解压不需要队列.
------解决方案--------------------
随便弄个可并行读写的队列就可以了吧, 然后接收线程收到zip就往列表写入, 解压线程一直等待, 有数据来了就进行解压, 这就解决了吧