大致如下:
一个文件中有很多数据,我想让一个线程将数据读到一个共享区域。
然后另外一个线程从中个共享区域中读取已存在数据将其写入数据库。不知道该怎么实现。大家给个思路。

解决方案 »

  1.   

    error C2664: “CreateThread” : 不能将参数 3 从“DWORD (LPVOID)”转换为“LPTHREAD_START_ROUTINE”这个ReadFiles是一个 DWORD WINAPI 的函数
    创建线程的函数如下。编译的时候老是出现上面的错误。
    threadHandle[0] = CreateThread(NULL, 0, ReadFiles, &tParam, 0, &tID);
      

  2.   

    CreateThread()再去查查参数定义! Error提示的很清楚了.
      

  3.   

    对于这个问题:要看你的文件是什么结构?TXT文件还是Bin结构化文件?如果是txt那就利用buffer处理,根本没有必要开辟两个线程;如果是bin,就里用file mapping内存映射文件处理.一个线程或者就在主界面线程完成就OK了,如果想交互,就开辟一个工作线程处理.哪里那么复杂...!
      

  4.   

    把你的这个共享内存区域做成链表,新数据加到tail,从head取数据,只需注意连表操作同步就可以了。
      

  5.   

    这个是一种尝试
    因为我们要读取得文件不是简单的txt,而且解析过程比较慢,另外写到数据库也是比较慢的
    所以想尝试用用多线程