多线程:每个正在系统上运行的程序都是一个进程。每个进程包含一个到多个线程。进程也可能是整个程序或者部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行,也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。多线程是为了使得多个线程并行以完成多项任务,来提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。
本实例利用Windows API函数CreateThread()完成多线程的创建
用CreateEvent()创建事件对象函数
和WaitForMultipleObjects()等待多对象事件函数来完成多线程之间的控制
利用CAsyncSocket类完成网络文件的传输
MFC的CAsyncSocket类对Windows Sockets API函数进行了封装,它是从CObject类派生出来的。该类在非常低的级别上封装Windows Sockets API。CAsyncSocket适合那些对网络通信细节很了解,但希望利用回调的便利通知网络事件的程序员使用。
如果想利用Windows Sockets方便地处理MFC应用程序中的多个网络协议,而又不想放弃灵活性,可以使用CAsyncSocket,但是程序员必须自己处理阻塞,字节序的差异和Unicode多字节字符集(MBCS)的转换。
该类的重要成员函数:
(1)Create():若调用成功,则返回非0值,否则返回0,