簡體   English   中英

從多個線程訪問Word文檔的單詞列表

[英]access the list of words of a word document from multiple threads

最近,我在Word對象模型的性能方面遇到了一些問題。 在我為Word寫的一個加載項中,我需要解析文檔中的所有單詞並替換其中的某些單詞,或者向用戶詢問具有多個替換單詞的單詞。 我知道一次向Word詢問所有文檔文本內容,然后對其進行處理並再次將其放回去的速度更快,但這不適合我的加載項,因為我需要訪問該范圍代表具有多個替換項的單詞的對象,以便我可以以某種方式在文檔中對其進行標記,並向用戶顯示工具提示,以便用戶可以選擇所需的替換項。

因此,由於大多數人已經擁有雙核或更好的雙核,所以目前我想到的最大的速度改進就是多線程。 問題在於,您在Google上發現的所有內容都表明Office中的多線程是一件非常糟糕的事情。

那么,有沒有人能以一種在大多數情況下都能起作用的方式做到這一點? 我的意思是說,如果它也可以在其他PC上使用,那么開發人員呢?

第二個問題是:有誰知道Microsoft為什么將Word(Office)對象模型限制為單線程? 只是出於好奇:)

Office中的多線程應該可以正常工作。 這是Microsoft撰寫的有關此操作的文章:

演練:使用BackgroundWorker組件(C#和Visual Basic)進行多線程

Office對象模型不是單線程的,而是單線程單元(STA)。 這實際上是所有VB.Net程序的默認狀態( 默認情況下C#是MTA )。 要了解有關STA vs MTA的更多信息,請查看以下鏈接:

暫無
暫無

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

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