强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan
- 前言
究竟什么时候要使用并行呢?是什么场景都可以达到我们预想的那样高性能吗?2014年底,Avoiding ping pong论坛上,Linus Torvalds提出了一个截然不同的观点,Give it up,The whole "parallel computing is the future " is a bunch of crock.并行程序的设计和实现异常复杂,不仅仅体现在程序的功能分离上,多线程间的协调性,乱序性都会成为程序正确执行的障碍,但有些时候我们会很自然的使用,例如,要去处理一张照片时,一张拥有1024*768像素的图片,如果要每一个像素都遍历一下,那需要的时间是相当多的,这时候用多线程去访问,就会很容易解决问题。
- 同步和异步
同步方法一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为,异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作,整个过程不会阻碍调用者的工作,如果异步调用需要返回结果,那么当这个异步调用真的完成时则会通知调用者。
- 并行和并发