2011-03-11 20 views
0

我正在制作一个应用程序,它在C++中搜索请求的信息时接收用户输入。在Windows资源管理器中运行两个不同的应用程序会更好吗?会更快吗?在C++中制作线程与两个单独的程序?

+0

搜索什么?比什么更快?你需要提供更多关于你想要做什么的细节。就像现在一样,它和“我的车比你的速度快吗?”这取决于你驾驶什么样的汽车,驾驶什么样的汽车,每辆汽车处于什么状态,每种汽车有什么样的轮胎,天气条件,路况以及更多的信息,然后才能给出答案。 – 2011-03-11 23:07:06

回答

2

答案取决于几个因素,例如所有这些过程需要多长时间,以及两个过程之间应该共享多少信息。

如果这是几秒钟的事情,并且在应用程序的两个部分之间共享数据结构,我没有看到将它们分离为不同的进程的任何要点。在线程之间共享内存要容易得多(不要忘记使用线程安全的数据结构)。

3

您所描述的内容听起来像是多线程编程的典型用例。你会让你的主线程等待用户输入并启动额外的线程来执行其他操作,如搜索。

另一种设计两个独立进程的方法需要相互通信和协调,这会增加一些额外的开销。因此,速度方面,只有在需要少量来回通信的情况下,您才能受益。

相关问题