我有2个线程,通过消息队列进行通信。
如果我执行以下操作:
Messenger mess = new Messenger(); //Create an object of type Messenger
....
controller.enqueue(mess); //Adds it's reference to a message queue from another thread
....
mess = new Messenger(); //Create another object of type Messenger
....
controller.enqueue(mess); //Adds it's reference AS WELL to the message queue of another thread
我的问题是: 这会有用吗?来自控制器的消息队列中是否有2个对象? (实际上2个引用了2个对象)?或者只有一个,第二个?第二个对象创建是否以某种方式覆盖第一个对象?
答案 0 :(得分:1)
enqueue
方法接收两个不同对象的两个不同引用。如果方法执行其名称和类的名称,则队列将确实有两个对象排队。