如果有后台线程运行操作,我希望 UI 线程等到它结束然后得到结果。
更多细节。当我打开一个对话框时,用户对 2 条信息感兴趣 - 我们称它们Info1
为Info2
. Info1
检索需要 5 秒,检索Info2
需要 15-30 秒。为了不惹恼用户,我最初获取/显示Info1
并提供一个按钮来获取Info2
.
当我获取时Info1
,我会启动一个后台线程来获取Info2
。希望当用户按下按钮时Info2
,它已经被获取(并缓存在内存结构中)并且用户可以立即看到信息。
现实情况是,90% 的时间,用户Info2
在后台线程完成之前按下按钮。
我的问题是这个。在操作结束时随意挂接到后台线程并获取其结果的好模式是什么?