通过 TQDataSet.OnCustomSort 属性来按拼音排序

TQDataSet 新提供了一个 OnCustomSort 属性,用于让用户指定自己的排序规则。如果设置了 OnCustomSort 事件的值,则 TQDataSet 会调用 OnCustomSort 事件来获取两条记录的比较结果。下面是一个在 Windows 下按拼音排序的例子: //按拼音比较两条记录的大小 pro

多线程排序的一点思考

多线程排序内部使用快速排序算法,但因为排序时,要对数据进行分区,以便避免由于使用锁而降低排序效率。而数据分区时,我们该如何分,什么时间分是一个需要测试和权衡的问题。 QDAC的QDB的数据排序将使用多线程排序,算法不外乎两种: 1、简单分区再排序 在排序前,先将数据进行分块,保证前一块的的所有值都小于后一块,这样子再次

多线程排序-QWorker版本实现

当前处理器多核心已经成为标配,无论是手机还是PC,充分利用多核心处理资源,是程序员的职责所在。本次展示的例子,利用QWorker提供的多线程作业管理,演示了如何实现多线程排序。 要进行多线程排序,首先确定数据量是否足够大,太小的数据可能都不够线程创建和切换的开销,那就不如在单一线程中执行效率更高,毕竟线程创建和释放都会