Win32多线程之概述
多线程在刚开始工作时也没怎么用,只是有时界面卡住了、一拖动程序主界面界面就会出现白色区域,
久久不能消失,慢慢的明白主界面使用主线程,在单一线程通道中,一个任务没有完成,当前的所有工
作都将被锁定,拖动界面会产生WM_PAINT消息,由于主线程被锁定那么这个消息将不被程序所响应,因
此界面刷新就无望了!因此适当使用多线程、管理好多线程对于复杂应用也是极其重要的。
进程、线程都是操作系统概念,进程是程序的执行实例,每个进程都有自己4G的虚拟地址空间、代码、
数据和其它系统资源组成,在进程运行过程中创建的资源随着进程的终止而销毁,使用的系统资源在进
程终止时被释放或关闭。
但我们应该清楚:windows系统在单CPU机器上按时间片循环运行各个线程,单CPU机器的多线程其实是一
种假象,如果几个线程都很活跃,线程之间的切换会很花费CPU时间,这个在多线程应用时应该好好注意
。
我常使用 _beginthreadex(NULL/*线程的安全属性*/, 0/*线程的堆栈大小,如果为0和进程堆栈大小相
同*/, ThreadProc/*线程函数*/, NULL/*线程参数*/, 0/*线程的初始状态*/, &nThreadID/*线程的
ID*/);
创建线程
另外,需要注意:线程是以抢占方式获取CPU资源,可以设置线程的优先级别