高手请进,这个问题困扰我很长时间了,帮帮忙!!
xy328 2001-09-12 11:00:05 我最近在编一个包捕获和流量统计的程序,我现在碰到了一个棘手的问题,我在一个循环中去捕获通过网卡的包,并对对包进行分析,然后将分析结果插入数据库,可是由于数据库的插入操作比较费时,所以当我执行数据库插入操作时会用掉比较长的时间,这样的话,循环执行时两次循环之间的时间间隔比较大,这样我会漏掉许多包没有捕获,请问我该如何处理这种情况?我曾经试过用线程池的方法启动多现成执行数据库插入操作,可是效果还不太理想。有人告诉我说用内存映射文件,这个进程向文件插入数据,在用另一个进程完成数据插入数据库的操作,可我想了想,如果第一个进程插入数据的速度如果始终大于将数据插入数据库的第二个进程的速度的话,内存岂不是越占用越多,那点儿内存怎么够用?
请问我该怎么办?