首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言 pthread_create 執行緒全部顯示執行緒 8 的原因

     編輯:程式設計綜合問答

使用 pthread_create 建立 8 個執行緒時,若所有執行緒都顯示「Hello from thread 8」,而非預期的 0 到 7,通常是因為將迴圈變數 t 的位址 (&t) 傳遞給所有執行緒。

所有執行緒共享同一個變數 t,當它們執行時 t 已經變成 8,因此都讀取到 8。正確做法是為每個執行緒配置獨立的記憶體來儲存參數,避免競爭條件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved