我有一个访问设备的轮询循环,一些设备链接在一起,因此当一个链接的设备被轮询时,它的状态必须复制到另一个链接的设备。
我正试图加快更新第二个链接设备的过程。如果设备4连接到设备5,则速度很快,但如果设备5被轮询并发现更改,则必须等待轮询循环完成并再次启动。
我的想法是检查作为投票的一部分,如果设备被链接,所以它可以立即更新。关于哪些设备被链接的信息存储在数据库中,并且为每次轮询调用数据库将大大降低系统速度,因此我想要做的是创建表的哈希表并检查它。
这是我的问题
-
哈希表会比数据库检查更快吗?
-
我应该多久重新创建一次哈希表,程序一次将运行几个星期?
-
这是最好的方法吗?还有其他方法可以加速轮询循环吗?
如果搜索是优先级,则使用散列表。哈希表在按键搜索时提供了非常快速的搜索机制,在按值搜索时提供了相当好的搜索机制如果您希望能够删除特定元素,请使用散列表(使用remove方法)。当元素的存储顺序与您无关时,请使用哈希表。
如果需要元素按特定顺序排列,就不要使用散列表。您不能依赖Hashtable对其元素排序的方式如果需要在特定位置插入元素,不要使用哈希表如果您希望存储具有相同值的多个键,请不要使用散列表。