怎样多线程写同一张表? 多线程写同一张表,出现不却定的错误。我40个线程同时运行。有些线程成功,有些失败!?是否不可以这么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以~~~但要做线程同步!!TCriticalSection 类 最好不要这么做,速度反而会变慢。你可以试一下,对同一张表进行INSERT时单线程比多线程快。因为INSERT时会锁表,多线程反而会抢资源。INSERT多表时多线程就快了。呵呵 多线程写同一张表,这主要是根据设计要求来的,当然通常情况下是不建议如此操作,但是并不是所有的设计都可能地避免这个问题。比较建议的方式,在可能的情况下,数据库的写入操作,最好采用连接池的方式,针对连接启用事务锁机制。尽可能地避免多线程对同一张表进行写入操作,减少因数据同步而带来的不必要消耗。个人推荐对于数据的更新,最好采用存储过程,操作数据库如果比较频繁,则可以采用单独线程池进行数据库的操作,根据不冲突的情况下,计算出写入操作的并性处理能力,从而调配好线程池的线程数量,把这数据库操作部分从业务逻辑处理部分独立出来。对于多核心多CPU的广泛应用,多线程技术应该要求开发人员应用起来。 写的时候用adoCommand比较省资源 我需要从200个左右文件导入数据(同一张表)。所以设计时期望采用多线程读取解析数据,然后排队提交数据。没有采用TCriticalSection 类时,出错率20%左右,采用后出错率2%左右。因时间有限,后采用单线程处理问题。项目时间紧,没有及时看网上回复。谢谢各位老大关心。项目实践中,未采纳各位回复。(解决问题时,没有人恢复。)故,没有给分。 如果你是在同一个进程(程序)里实现的200个左右的导入数据,那用TCriticalSection应该出错率不会2%,我觉得你应该是用了多个进程来实现这200个文件导入数据的操作,如果在同一台电脑上的话,最好用Mutex,可以跨进程使用 delphi 打开文件,并定位到指定字符串所在位置 TEdit.Text 的赋值 大家看看啊,帮忙啊。 求助!关于delphi程序中加入快捷键的问题 偶是马甲,哪位朋友猜出我是谁,100分相送! 求教三层结构开发中的通信问题 送分 fastreport vcl 5发布了,大家都还没有发现吗? 我有三天登不上CSDN,今天好不容易上来了,发现专家分与参与分全没了,可用分多了 Borland 公司跨掉更好 怎么实现任意指定的3种颜色间的渐变 请教: 任何取出任意字符串中如: 'FFF\FFF\XXXXX' 中 最后一个'\' 隔开的后面字符
你可以试一下,对同一张表进行INSERT时单线程比多线程快。因为INSERT时会锁表,多线程反而会抢资源。INSERT多表时多线程就快了。呵呵
然后排队提交数据。没有采用TCriticalSection 类时,出错率20%左右,采用后出错率
2%左右。因时间有限,后采用单线程处理问题。项目时间紧,没有及时看网上回复。
谢谢各位老大关心。
项目实践中,未采纳各位回复。(解决问题时,没有人恢复。)故,没有给分。