现在在学习多线程,顺便将搜集到的资料整理下来以供参考和查询。
首先在开始多线程学习的时候遇到的首要问题便是多线程的创建,在查阅资料后有CreateThread和_beginthreadex两种方法,可能不止这两种,以后学习到了再补充。
----------------------------------------------20160914更新-------------------------------------------------
在创建新的线程时一定要使用_beginthreadex函数而不要使用CreateThread函数,因为CreateThread函数对系统中的全局变量没有保护,所以多个线程环境下容易出现系统的全局变量的值被覆盖的情况,而_beginthreadex每个线程都有单独的系统全局变量入errno.
----------------------------------------------------------------------------------------------------------------------------------------------------------
(1)CreateThread
HANDLE
WINAPI
CreateThread(
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, //线程的安全属性,NULL则为默认属性
_In_ SIZE_T dwStackSize, //指定线程堆栈大小,NULL则默认堆栈大小
_In_ LPTHREAD_START_ROUTINE lpStartAddress, //线程函数其实地址及执行线程的函数
_In_opt_ __drv_aliasesMem LPVOID lpParame