c语言 双线程,如何用C语言实现多线程
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
Windows操作系統(tǒng),C語言實現(xiàn)多線程:
#include?
#include?
DWORD?APIENTRY?ThreadOne?(?LPVOID?threadArg?)
{
printf?(?"線程開始啦,參數(shù)是:%s\n"?,?(char?*)threadArg?);
return?0;
}
int?main?(?void?)
{
HANDLE?hThread;??/*?記錄線程句柄?*/
DWORD?ThreadID;??/*?記錄線程ID號?*/
DWORD?waitingResult;??/*?等待線程退出的等待結(jié)果?*/
DWORD?threadExitCode;??/*?記錄線程的返回值?*/
char?*?aMessage?=?"這是線程的參數(shù)"?;
/*?創(chuàng)建并啟動線程ThreadOne,返回值為線程句柄,賦值給hThread?*/
hThread?=?CreateThread?(?NULL,?0L,?ThreadOne,?(LPVOID)aMessage,?0L,?&ThreadID?);
if?(?hThread?==?NULL?)
{
printf?("線程ThreadOne創(chuàng)建失敗。錯誤代碼:%lu\n",?GetLastError()?);
return?EXIT_FAILURE?;
}
/*?等待線程句柄為的hThread線程結(jié)束?*/
waitingResult?=?WaitForSingleObject?(?hThread,?INFINITE?);
if?(?waitingResult?==?WAIT_FAILED?)
{
printf?(?"等待線程退出等待失敗。錯誤代碼:%lu\n"?,?GetLastError()?)?;
return?EXIT_FAILURE?;
}
if?(?GetExitCodeThread?(?hThread?,?&threadExitCode?)?)
printf?(?"線程的返回值是%lu\n",?threadExitCode?)?;
else
printf?(?"獲取線程的返回值獲取失敗。錯誤代碼:%lu\n"?,?GetLastError()?)?;
return?EXIT_SUCCESS?;
}
總結(jié)
以上是生活随笔為你收集整理的c语言 双线程,如何用C语言实现多线程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac怎么实现文件读写c语言,使用Sub
- 下一篇: c语言删增,C语言中初始、增加和删除进程