线程和消息队列体系结构。 Java和C ++的区别

时间:2013-07-24 23:19:57

标签: java c++

我正在学习Java for Android以及我学习的关于Thread和Message Queue的一些内容。

1)主线程有自己的消息队列,可以通过消息队列中的Handler形成新线程。

2)新线程运行时,也可以拥有自己的消息队列。从新线程到主线程的通信是通过相同的处理程序。

我有一些问题,在C ++中,线程间通信不是由处理程序完成的。我认为它是由消息队列或管道完成的。

我的问题是,在主线程和辅助线程之间的通信方面,如何将来自Java的Handler概念与来自C ++的消息队列或管道相关联。

1 个答案:

答案 0 :(得分:0)

在Java和C ++中,您可以拥有处理程序或消息队列,或传递ExecutorServices工作方式的命令对象。

Java倾向于更喜欢将细节隐藏起来,让你只编写最基本的代码(即使语言本身非常冗长)C ++倾向于更喜欢暴露低级构造。

但是,没有理由不能用每种语言做任何事情。

BTW:我更喜欢将命令对象RunnableCallable传递给Java中的ExecutorServices。即没有处理者或消息队列或线程担心。