簡體   English   中英

如何將任務委派給主線程並等待其執行完成?

[英]How to delegate a task to main thread and wait for it's execution to complete?

我有一個Borland C ++項目,在這里我看到一個syncnize()方法,工作線程可以使用該方法將任務委派給主線程並等待任務完成。 在C#中,有一個類似的Control.Invoke()方法。 在Visual Studio中的C ++中為GUI和控制台應用程序工作時,是否有類似的東西? 我想到了SendMessage(),但是否等同於上述兩個?

對於GUI應用程序,在主線程具有消息隊列的情況下,SendMessage是可以的。 對於控制台應用程序,沒有通用方法。 您需要首先決定主線程應如何處理此類請求。 如果控制台應用程序的主線程具有消息隊列,則SendMessage也可以。 您可以考慮其他方式,例如,使用事件,每事件取決於主應用程序線程的行為及其處理來自其他線程的請求的能力。

暫無
暫無

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

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