c语言如何关闭线程,如何用C语言实现多线程
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
Windows操作系統,C語言實現多線程:
#include?
#include?
DWORD?APIENTRY?ThreadOne?(?LPVOID?threadArg?)
{
printf?(?"線程開始啦,參數是:%s\n"?,?(char?*)threadArg?);
return?0;
}
int?main?(?void?)
{
HANDLE?hThread;??/*?記錄線程句柄?*/
DWORD?ThreadID;??/*?記錄線程ID號?*/
DWORD?waitingResult;??/*?等待線程退出的等待結果?*/
DWORD?threadExitCode;??/*?記錄線程的返回值?*/
char?*?aMessage?=?"這是線程的參數"?;
/*?創建并啟動線程ThreadOne,返回值為線程句柄,賦值給hThread?*/
hThread?=?CreateThread?(?NULL,?0L,?ThreadOne,?(LPVOID)aMessage,?0L,?&ThreadID?);
if?(?hThread?==?NULL?)
{
printf?("線程ThreadOne創建失敗。錯誤代碼:%lu\n",?GetLastError()?);
return?EXIT_FAILURE?;
}
/*?等待線程句柄為的hThread線程結束?*/
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?;
}
總結
以上是生活随笔為你收集整理的c语言如何关闭线程,如何用C语言实现多线程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: loading linux img2a,
- 下一篇: java面试题_1000道Java工程师