对于有序数据,通常可以采用二分查找法,对于无序数据,则只能挨个查找。
给定一个数组,查找需要满足条件的元素。对于串行程序来说,只需要遍历一下数组就可以得到结果,而如果要并行执行,则需要额外增加一些线程间的通信机制,才能让各线程间有效的运行。
一种简单的策略是将原始数据集合按照期望的线程数进行分割。如果使用2个线程并行搜索,就可以将数组分割成2个,每个线程独自搜索,当其中一个得到结果后立即返回即可。
并行搜索数组值 并行搜索数组值--参考文献《实战Java高并发程序设计》
对于有序数据,通常可以采用二分查找法,对于无序数据,则只能挨个查找。
给定一个数组,查找需要满足条件的元素。对于串行程序来说,只需要遍历一下数组就可以得到结果,而如果要并行执行,则需要额外增加一些线程间的通信机制,才能让各线程间有效的运行。
一种简单的策略是将原始数据集合按照期望的线程数进行分割。如果使用2个线程并行搜索,就可以将数组分割成2个,每个线程独自搜索,当其中一个得到结果后立即返回即可。
并行搜索数组值 并行搜索数组值--参考文献《实战Java高并发程序设计》
本文标题:并发算法之并行搜索
本文链接:https://www.haomeiwen.com/subject/ovmacctx.html
网友评论