关于多线程搜索,有很多方法来实现,很多文章推荐基于MTD(F)的方式.好处不言而喻,不过我的程序中采用的是基于PVS的多线程搜索.实现起来主要是这几个方面问题需要解决: 1.置换表的互斥访问. 2.局面的复制. 3.线程同步. 逐个说一下这几方面的实现: 1.置换表的互斥访问. 置换表的作用时保存和读取搜索过的局面.所以使用读写锁即可.代码非常简单,声明一个ReaderWriterLock,在保存置换表时使用写锁,读取时使用读锁. 2.局面复制. 完整的复制position类,方法有很多,我的代…