Java中的异步函数调用

时间:2018-11-29 10:31:08

标签: java asynchronous

假设您有三个A,B,C类,每个类都有自己的搜索功能。我想使用所有三个搜索功能同时运行一个键(例如'searchKey')。如果我从三个函数之一获得结果,如何停止其他两个搜索函数?

这还会比我在每个类中都有一个不同的hashmap并依次搜索它们的情况更快,因为搜索解决了恒定的时间复杂性?

1 个答案:

答案 0 :(得分:4)

您需要公开一个公共方法来停止搜索,例如一个标志,以取消其各自类中的线程。

第二点,在HashMap中进行键搜索的时间复杂度通常为O(1)(如果这些键在同一个哈希存储桶中,则为最差情况O(n))。因此,由于优化速度很快,因此没有太多的优化空间。您甚至不会注意到,如果按顺序搜索HashMaps