2011-03-11 43 views
0

我正在製作一個應用程序,它在C++中搜索請求的信息時接收用戶輸入。在Windows資源管理器中運行兩個不同的應用程序會更好嗎?會更快嗎?在C++中製作線程與兩個單獨的程序?

+0

搜索什麼?比什麼更快?你需要提供更多關於你想要做什麼的細節。就像現在一樣,它和「我的車比你的速度快嗎?」這取決於你駕駛什麼樣的汽車,駕駛什麼樣的汽車,每輛汽車處於什麼狀態,每種汽車有什麼樣的輪胎,天氣條件,路況以及更多的信息,然後才能給出答案。 – 2011-03-11 23:07:06

回答

2

答案取決於幾個因素,例如所有這些過程需要多長時間,以及兩個過程之間應該共享多少信息。

如果這是幾秒鐘的事情,並且在應用程序的兩個部分之間共享數據結構,我沒有看到將它們分離爲不同的進程的任何要點。在線程之間共享內存要容易得多(不要忘記使用線程安全的數據結構)。

3

您所描述的內容聽起來像是多線程編程的典型用例。你會讓你的主線程等待用戶輸入並啓動額外的線程來執行其他操作,如搜索。

另一種設計兩個獨立進程的方法需要相互通信和協調,這會增加一些額外的開銷。因此,速度方面,只有在需要少量來回通信的情況下,您才能受益。

相關問題