Linux平台下的多线程编程需要用到#include <pthread.h> 多线程相关操作头文件,可移植众多平台。
windows平台下有它自己的一套多线程编程操作,记录如下:
首先是创建线程的函数:
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
SIZE_T dwStackSize, // initial stack size
LPTHREAD_START_ROUTINE lpStartAddress, // thread function
LPVOID lpParameter, // thread argument
DWORD dwCreationFlags, // creation option
LPDWORD lpThreadId // thread identifier
);
一般情况下只需要用到第三个和第四个,第三个参数传递了一个函数的地址,就是线程内要执行的操作,第四个参数是传给新线程的参数指针。
如果只是简单的光使用线程函数,那么实际效果是混乱的,因为函数是并发运行,那么就要引入多线程的同步问题。
对于一个资源被多个线程共用