Java中的多线程事件代理

时间:2014-11-21 12:57:25

标签: java multithreading

我的应用程序中有一个简单的多线程事件代理,它公开了两个方法和一个接口:

interface IEventHandler extends Runnable
{
    public setEvent(Event e);
}

public <T extends Event> void Subscribe(Class<T> eventType, IEventHandler handler);

public <T extends Event> Publish(T event);

发布查找适当的处理程序,设置事件,并生成一个线程来运行它:

IEventHandler handler = findHandlerForTheEventType();
handler.setEvent(event);
new Thread(handler);

我担心的事情(这还没有发生,但我很确定可能会发生)同时发生同一事件,而且事件处理程序会被{{1}打扰在跑步中间。有没有一些设计模式可以解决这个问题?

0 个答案:

没有答案