2018年10月19日

并行搜索

摘要: 搜索是几乎每一个软件都必不可少的功能。对于有序数据,通常采用二分查找法。对于无序数据,则只能挨个查找。 给定一个数组,我们要查找满足条件的元素。对于串行程序来说,只要遍历一下数组就可以得到结果。但是如果要使用并行方式,则需要额外增加一些线程间的通信机制,使各个线程可以有效的运行。 一种简单的策略就是 阅读全文

posted @ 2018-10-19 17:00 AoTuDeMan 阅读(371) 评论(0) 推荐(0) 编辑

并行算法

摘要: 并发算法虽然可以充分的发挥多核CPU的性能。但不幸的是,并非所有的计算都可以改造成并发的形式。简单来说,执行过程中有数据相关性的运算都是无法完美并行化的。 假如现在有两个数C和B,如果我们要计算(B+C)*B/2,那么这个运行过程就是无法并行的。原因是,如果B+C没有执行完成,则永远都算不出(B+C 阅读全文

posted @ 2018-10-19 15:08 AoTuDeMan 阅读(359) 评论(0) 推荐(0) 编辑

Future模式

摘要: Future模式是多线程开发中非常常见的一种设计模式,它的核心思想是异步调用。当我们需要调用一个方法时,如果这个方法执行得很慢,那么我们就要进行等待;但是有时候,我们可能并不急着要结果。因此,我们可以让被调用者立即返回,让它在后台慢慢处理这个请求。对于调用者来说,则可以先处理一些其他任务,在真正需要 阅读全文

posted @ 2018-10-19 10:53 AoTuDeMan 阅读(208) 评论(0) 推荐(0) 编辑

生产者-消费者模式

摘要: 生产者-消费者模式是一个经典的多线程设计模式,它为多线程间的协作提供了良好的解决方案。在生产者-消费者模式中,通常有两类线程,即若干个生产者线程和若干个消费者线程。生产者线程负责提交用户请求,消费者线程负责具体处理生产者提交的任务。生产者和消费者之间通过共享内存缓冲区进行通信。 生产者-消费者模式的 阅读全文

posted @ 2018-10-19 09:54 AoTuDeMan 阅读(369) 评论(0) 推荐(0) 编辑

导航