【问题标题】:Custom Event Listener for Multi threaded environment in Java Using Wait() and notify()使用 Wait() 和 notify() 为 Java 中的多线程环境自定义事件监听器
【发布时间】:2017-01-16 06:13:36
【问题描述】:

我有一个多线程环境,我想使用事件侦听器处理所有线程。

我已经制作了监听事件的监听器,我的问题是我想等待并使用一些特定的唯一 ID 或我们可以用于唯一性目的的任何内容通知每个线程。

我是 java 中事件侦听器编程的新手。

我正在使用 Java 制作 IVR 应用程序,并且在每次调用时都会创建我的新线程。

任何演示都会对我非常有用。

【问题讨论】:

  • 你不能只创建一个扩展线程类的类并向它添加一个静态属性,并在你从类创建的每个实例中增加它。由于该属性是静态的,因此对于一个 JVM 实例,您的线程将拥有唯一的 ID。这是你需要的吗?
  • 我的主要任务是通知来自不同类的线程。我的等待和通知都在不同的类别中。你能用一个小例子告诉我吗?

标签: java multithreading asterisk wait notify


【解决方案1】:

这不会直接适合你的代码,你必须努力适应你。

这是我的想法。

public class MyThread extends Thread{
private static int uniqueId;
private int myId;
MyThread(){
    myId = ++uniqueId;
}
//getters and setters to myId

}

公共课 YourClass{

public HashMap threads = new HashMap();// 使用它来按 id 映射你的线程

//when you want to access a thread, you get it from the map and call wait and notify. 
//this map should be publicly visible to you.

}

【讨论】:

  • 很有帮助..!!
  • 我们将在 hashmap 中存储什么? MyThread 的 uniqueId 还是 Java 创建的 threadID?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-09
  • 2011-06-13
相关资源
最近更新 更多