收集多线程的相关资料!请大家勇跃参加,有分啦! (200分)

  • 主题发起人 主题发起人 liujunzhang
  • 开始时间 开始时间
L

liujunzhang

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如果我要发送一个文件,采用多线程应该怎么样做呢?
现在我是把一个文件分成很多块,在循环的发送!
这样肯定很慢,我想做成多线程,不知道如何?请高手指教!
 
请问多线程的同步和异步问题?同步应该用在什么地方,异步呢?
 
看《Delphi 5开发人员指南》第十一章。
永远的Delphi有下,网址:
http://fdelphi.myrice.com/delphidoc.html
 
请问如果我要发送一个文件,采用多线程应该怎么样做呢?
现在我是把一个文件分成很多块,在循环的发送!
这样肯定很慢,我想做成多线程,不知道如何?请高手指教!
 
UP,现在啊,怪不得中国的程序员是如此低廉!这么好的题目!不知道都在这里发言~
以后你们有这样的问题!可以查一下就知道了!唉~!为你们不值呀!而且我都还送发
呢?并且我那里也都还有问题呢!
 
没人回答问题吗?
 
开n个thread,给每个thread设定数据块,然后就发啊。只是要用到临界区使socket的使用
不冲突。读文件就没关系了。接收要注意写文件别冲突了。
 
看你和我一样替你顶一下啦
 
看看这个吧,
http://www.delphibbs.com/keylife/iblog_show.asp?xid=4131
 
firstrose,正解
 
也想知道,进来学习
 
线程同步可以用EnterCriticalSection(CS),leaveCriticalSection(CS)InitializeCriticalSection(cs);
DeleteCriticalSection(cs)相结合来保护临界区,同步应该用在所有线程共同访问的对象上。
 
我也学习一下
 
其他的廉价问题不谈。关于线程同步的问题,delphi一般使用TCriticalSection 和 API: setEvent, WaitForSingleObject 。前者对一些不能读写共享的资源进行临界,后者实现线程间的同步,再就是,你的程序2个线程应该就是比较优化的值,只有在网络延时大的情况下效率提升明显。
我的想法是:将数据分快,对数据块的读取实施临界,多个线程事实读取后发送,当然得开多路连接,数据块编号,在接收端实施重组装,如果接收端缓冲不够,(在最前面的块传送失败,需要重传),使用同步等待新缓冲释放,当然,组装也使用另线程并负责写下到硬盘。对公用缓冲实施临界。
 
后退
顶部