难道你的接口中要体现出使用“多线程”吗?多线程只是内部的实现而已。完全可以把通知事件只通过主线程回调,在其他的线程中做耗时的事情[/quote]这样做,这个回调实质上已经是一个通知事件了;而且,假如把lib看成系统层,lib使用者是应该层,这个系统层的机制需要应用层配合完成,作为系统边界lib应该不愿意出这种情况。如果不这样:回调函数做了需要的业务逻辑,那时间有可能不可控,所以把通知线程和处理线程绑一起,有影响lib本身功能的风险。为此,lib应该做一个专门的通知线程和回调线程,通知线程和回调线程之间的通信还是事件触发。所以本质是lib该不该管这个回调线程的问题。管,lib会增加自己的复杂性。不管,应用的层的代码从set_handler(event,callback)变成switch(event) case x: callback()的区别。管这么多做什么呢