多线程写文件 (100分)

  • 主题发起人 主题发起人 xmzw
  • 开始时间 开始时间
X

xmzw

Unregistered / Unconfirmed
GUEST, unregistred user!
我在主程序中打开一个文件,然后启动了20个线程发email,
在线程中要把发过的email写到文件中,写文件时我已经
用Synchronize进行调用,但仍然出现'i/o error'错误,
请问该如何解决?
 
同一文件在同一时刻只能由一个程序写入,你应该判断文件是否正在被RW打开,是的话
要等待,直到文件被关闭或用R方式打开
 
但netant这样的不是多线程写入文件嘛?
xmzw: 你的多线程发email的例子能否让我学习学习?100分给你
 
多线程写文件你用一个公用指针不就可以了?
大家轮流写... 写啊写...
 
elan:
不是的,蚂蚁是多线程下载,单线程写文件:)
ahxia:
能具体点么?
 
比如全局的FILE a
Lock();
// WaitForSingleObject( hMutex,INFINITE );
write(a ,... )
Unlock() // ReleaseMutex( hMutex )

 
一个文件同时只能被一个程序打开吗?你试试启动两个记事本程序,打开同一个文件。
总是打的开的!
 
不要用一个句柄,自己用自己的,要用再开,用完就关。
 
多人接受答案了。
 
后退
顶部