呼叫執行緒必須為STA,因為許多UI元件都需要

2022-04-28 15:24:31 字數 355 閱讀 9415

當我在使用cefsharp後,在前端使用js呼叫.net公開類時,遇到了這個問題:呼叫執行緒必須為sta,因為許多ui元件都需要, 困惱了小編半天。終於自己敢去嘗試,解決了。

在要執行**的外層加入dispatcher,dispatcher的作用是用於管理執行緒工作項佇列,類似於win32中的訊息佇列,dispatcher的內部函式,仍然呼叫了傳統的建立視窗類,建立視窗,建立訊息幫浦等操作。

可以參考msdn官方文件中的dispatcher class

完美解決

STA和MTA執行緒模式的區別

sta和mta執行緒模式的區別 摘錄 by 饅頭販子 發表於 2010 5 20 14 36 00 sta single thread apartment,中文叫單執行緒套間。就是在com庫初始化的時候建立乙個記憶體結構,然後讓它和呼叫coinitialize的執行緒相關聯。這個記憶體結構針對每個執...

委託呼叫 子線程程呼叫 與執行緒池呼叫

委託呼叫 子線程程呼叫 與執行緒池呼叫 1,委託呼叫 1 同步委託 委託的invoke方法用來進行同步呼叫。同步呼叫也可以叫阻塞呼叫,它將阻塞當前執行緒,然後執行呼叫,呼叫完畢後再繼續向下進行。從下面的例子中可以看到,同步委託的執行是在主線程main中執行的,所以當執行委託時,當前工作會處於等待狀態...

委託呼叫 子線程程呼叫 與執行緒池呼叫

委託呼叫 子線程程呼叫 與執行緒池呼叫 1,委託呼叫 1 同步委託 委託的invoke方法用來進行同步呼叫。同步呼叫也可以叫阻塞呼叫,它將阻塞當前執行緒,然後執行呼叫,呼叫完畢後再繼續向下進行。從下面的例子中可以看到,同步委託的執行是在主線程main中執行的,所以當執行委託時,當前工作會處於等待狀態...