Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在学习 Java for Android 以及我学到的关于线程和消息队列的一些东西,如下所示。
1)主线程有自己的消息队列,可以通过消息队列中的Handler组成新线程。
2)新线程运行时,也可以有自己的消息队列。从新线程到主线程的通信是通过相同的处理程序进行的。
我有一些问题,在 C++ 线程间通信中,处理程序无法完成。我认为这是由消息队列或管道完成的。
我的问题是,在主线程和辅助线程之间的通信方面,如何将 Java 的 Handler 概念与 C++ 的消息队列或管道联系起来。
在 Java 和 C++ 中,您可以拥有处理程序、消息队列或传递命令对象,这就是 ExecutorServices 的工作方式。
Java 倾向于对你隐藏细节,让你只编写最重要的代码(即使语言本身非常冗长) C++ 倾向于暴露低级结构。
但是,没有理由您不能在每种语言中都做任何事情。
顺便说一句:我更喜欢在 Java 中传递命令对象Runnable和CallableExecutorServices。即无需担心处理程序或消息队列或线程。
Runnable
Callable