关于多线程搜索,有很多方法来实现,很多文章推荐基于MTD(F)的方式。好处不言而喻,不过我的程序中采用的是基于PVS的多线程搜索。实现起来主要是这几个方面问题需要解决:1、置换表的互斥访问。2、局面的复制。3、线程同步。逐个说一下这几方面的实现:1、置换表的互斥访问。置换表的作用时保存和读取搜索过的局面。所以使用读写锁即可。代码非常简单,声明一个ReaderWriterLock,在保存置换表时使用写锁,读取时使用读锁。2、局面复制。 完整的复制position类,方法有很多,我的代码是创建了一个new函数的重载,然后复制全部值。当然完全可以二进制序列化来创建一个全新对象。这种技术在“3D微观. Read More
posted @ 2013-09-25 11:16 zcsor~流浪dè风 Views(769) Comments(0) Diggs(0) Edit