簡體   English   中英

如何停止和銷毀主線程(從中創建線程)

[英]How to stop and destroy thread from main thread (from which is created)

我需要創建,運行,停止線程,然后再次執行相同的過程(重新加載一些新數據,並且需要刷新並且不能使用C ++ 11標准)。 我已經從我的主線程創建並運行了線程

pthread_t p;
pthread_create(&p, NULL, calculation, some_pointer_to_object);

如何從主線程停止並銷毀此線程? (pthread_exit來自當前線程)。

您需要使用pthread_cancel()

這樣做的唯一干凈方法是:在主線程中設置一個標志,啟動該線程,在新線程中輪詢該標志,並在設置完成后快速完成。 除了讓您的新線程根據要求完全關閉自己以外,其他所有操作都會導致一大堆蠕蟲,這是一種輕描淡寫的說法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM