个人觉得在学习多线程编程之前最好先了解进程和线程的关系, 然后在学习线程工作方式的过程中动手写个(我是从抄开始的)多线程的小程序, 会对学习多线程有很大的帮助, 否则只有理论是很抽象的.
在学习多线程编程之前, 必须先知道什么是 线程函数, 线程函数就是另一个线程的入口函数. 默认情况下一个我们所写的代码都是只有一个线程的, 而这个线程的入口函数就是main() 函数, 这是系统默认的. 而我们创建的另一个线程也需要一个函数来进入, 这个函数就叫做线程函数.
在C/C++中, 可以调用 '运行期库' 函数 _beginthreadex(...), 来创建一个线程, _beginthreadex(...)函数接受6个参数, 其中第3个参数要求传入该线程的入口函数的地址(即:传入线程函数的函数名+&即可), 其它的每个参数的意思可以在msdn或网上查一下, 入门的话其余参数全部传0即可.
_beginthreadex(...)函数返回一个句柄, 就是新线程的句柄. 对于传入的线程函数是有要求的, 线程函数必须返回 unsigned __stdcall 类型, 并且接受一个 void* 型参数, 函数的内容就可以自己定了.
|
|