这个我也不是十分明白!不过在多CPU的机器上多线程是提高负载的有效途径,WINDOW NT中使用多线程也是比较稳定的。
给你一个最简单的一步模型!以通讯中发送数据为例子:需要发送数据至少需要两个线程完成一个线程负责将数据放入缓存(主线程),一个线程负责发送数据(负线程)
对于用户来说只需要知道放入缓存的线程调用方式。譬如发送的函数这么写
FUNC SendData
{
     将数据放入一个发送缓存列中(两个线程都能访问的缓存列CPtrList)
     看看网络是否繁忙?
         不繁忙的话通知发送线程进行数据发送
     直接函数返回。    
}
这个函数对于用户来说运行速度是很快的,就是说是异步的
但是数据是否发送呢?这个不一定。一般情况下根据网络繁忙情况
另外一个线程接到通知后去取缓存列表中第一个发送缓存进行发送。并且在发送过程中设置繁忙标志(或是通知主线程现在网络情况),当发送完成时也必须通知上层。具体通知机制可以用消息机制,也可以用线程同步的机制。可能说的不是能详细。