[問題] thread運作
開發平台(Platform): (Ex: Win10, Linux, ...)
win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc
問題(Question):
問題1.
func1在另外創造的thread執行
func2在main執行
不使用pthread_join等待
問題2.
如果想要將func2也丟到 與 func1同樣的thread應該怎麼做?
而且要func1執行完 才執行func2
預期的正確結果(Expected Output):
問題1.
func1 輸出 1~10
func2 輸出 a~j
預期輸出每次都會不太一樣
1~10 a~j 可能混合在一起 可能依序排列
但最後一個輸出 一定為 j
問題2.
想不到怎麼做
請教有什麼作法
錯誤結果(Wrong Output):
問題1.
最後一個輸出 不一定為j
func2一定可以執行完成
疑問是 func2 執行結束
main的thread應該也結束了
為什麼j都輸出了 func1還是會跑?
既然會跑 為什麼 不會輸出到10?
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
https://pastebin.com/ixYbTdjZ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.220.35.157
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1527237972.A.3F1.html
→
05/25 16:51,
7年前
, 1F
05/25 16:51, 1F
問題2 算是我實際遇到的問題 只是將其簡化
限制 不能在func1的結尾 呼叫func2
有辦法解決問題2嗎?
※ 編輯: x246libra (61.220.35.157), 05/25/2018 16:57:40
→
05/25 17:03,
7年前
, 2F
05/25 17:03, 2F
→
05/25 17:03,
7年前
, 3F
05/25 17:03, 3F
→
05/25 17:03,
7年前
, 4F
05/25 17:03, 4F
→
05/25 17:08,
7年前
, 5F
05/25 17:08, 5F
推
05/26 00:41,
7年前
, 6F
05/26 00:41, 6F
推
05/26 01:46,
7年前
, 7F
05/26 01:46, 7F
推
05/27 11:21,
7年前
, 8F
05/27 11:21, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章