【发布时间】:2012-04-10 00:43:40
【问题描述】:
我正在开发一个 Messenger 库。主类有一个 Login 方法。登录时,会下载并存储所有联系人列表数据,直到登录完成,此时我为每个下载的用户引发 UserAdded 事件。
目前,我在 Login 方法的末尾一一提出事件。这可行,但这意味着如果我在 UserAdded 事件处理程序中执行冗长的操作,库使用者不会及时获取他们的事件。
我可以看到解决此问题的一种方法是异步引发每个事件,但这会破坏线程池。
我目前的做法是否正确?我是否应该简单地在文档中写下关于在事件处理程序中执行冗长操作的警告?
【问题讨论】: