最近要写一个网络通讯方面的程序,通过网上查找,发现无一例外地都使用了多线程;我以前总用VB写程序,从没涉足过多线程,说实话,连多线程的概念都是模糊的,它和进程是什么关系?和过程、函数有什么区别?诸如此类的问题我一概说不清楚。还等什么,赶快上网找资料吧。
我们知道,Windows系统是一个多任务系统,多任务的特点就是在操作系统的协调下多个完成不同功能的程序可以同时运行在电脑中而互不干扰,比如我们在浏览网页时可以同时听歌、看电影、聊天,这些同时运行在电脑中的程序称为进程,Windows系统通过进程ID来分时间片来管理各进程;而一个进程包含一个或多个线程,也就是一个进程必须包含一个线程,线程是进程中可以独立运行的程序片段,也就是说,主程序在运行时,主程序可以启动一个线程,线程可以和主程序同时运行;线程是系统中分时处理的最小单位,线程有自己独立的栈处理数据,它在和主程序同时运行时可以共享主程序定义的变量、函数。
这样就有点概念了,其实,线程就是程序中