0

我正在学习 Java for Android 以及我学到的关于线程和消息队列的一些东西,如下所示。

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

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

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

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

4

1 回答 1

0

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

Java 倾向于对你隐藏细节,让你只编写最重要的代码(即使语言本身非常冗长) C++ 倾向于暴露低级结构。

但是,没有理由您不能在每种语言中都做任何事情。

顺便说一句:我更喜欢在 Java 中传递命令对象RunnableCallableExecutorServices。即无需担心处理程序或消息队列或线程。

于 2013-07-24T23:58:09.037 回答