【发布时间】:2014-07-24 00:29:47
【问题描述】:
我有一个创建两个线程的应用程序。 (thread_1 用于 Qt GUI,thread_2 用于运行 TCL 解释器的应用程序)。
我希望 thread_1(Qt GUI)创建一个命令并将其发送到 thread_2(TCL 解释器)。
我正在考虑将thread_1的stdout连接到thread_2的stdin,我不知道该怎么做? 如果您知道如何做或可以提出不同的工作方式,我将不胜感激。
【问题讨论】:
-
hmm,如果您有线程,则不需要它们通过系统进行通信:只需设置一对
std::list<message>同步进行双向消息传递。 -
我是新来的,你能举个例子或链接到我可以了解更多关于这个的地方吗?
-
听起来你真正的问题是,“我如何在线程之间进行通信”。简短的回答是,您可以使用任何您喜欢的集合(列表、队列、映射、数组),只要您使用适当的同步机制(锁、互斥、信号量)来防止对集合的并发、冲突访问。
-
"...对于运行 TCL 解释器的应用程序" 你确定这是同一个进程中的两个线程吗?因为我通常不会将进程中的一个线程描述为“应用程序”。
标签: c++ multithreading qt tcl qtgui