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

Thread and Message Queue Architecture. Java and C++ difference

本文关键字:C++ 区别 Java 体系结构 消息 队列 线程      更新时间:2023-10-16

我正在学习Java for Android,并学习了以下关于线程和消息队列的一些内容。

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

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

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

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

在Java和C++中,您可以拥有Handlers、Message Queues或传递命令对象,这就是ExecutorServices的工作方式。

Java倾向于把细节隐藏起来,让你只写最基本的代码(即使语言本身很冗长)C++倾向于公开底层结构。

然而,你没有理由不能用每种语言做这两件事。

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