对于一些小文件,用普通的文件流就可以很好的解决,可是对于超大文件,比如2G或者更多,文件流就不行了,所以要使用API的内存映射的相关方法,即使是内存映射,也不能一次映射全部文件的大小,所以必须采取分块映射,每次处理一小部分。 先来看几个函数 CreateFile :打开文件 GetFileSize Read More
posted @ 2016-03-02 23:39 findumars Views(2007) Comments(1) Diggs(0)
线程池的概念 单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。 传统多线程方案中,一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执行完毕后,线程退出。这就是即时创建,即时销毁的策略。尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务执行时间很短,而 Read More
posted @ 2016-03-02 23:39 findumars Views(320) Comments(0) Diggs(0)
// 定义结构体 typeTmyRec= recordname:string[10];password:string[10];end; function RawToBytes(const AValue; const ASize: Integer): TBytes;beginSetLength(Res Read More
posted @ 2016-03-02 23:38 findumars Views(431) Comments(0) Diggs(0)
unit Unit2;interfaceusesSystem.Classes, Windows, Messages;constWM_DO = WM_USER + 1;typeTDemoThread = class(TThread)private{ Private declarations }prot Read More
posted @ 2016-03-02 23:37 findumars Views(446) Comments(0) Diggs(0)
一,首先引入“mmsystem”单元。 二,启动定时器: var MMTimerID: Integer; // 定时器ID MMTimerID := timeSetEvent(1000, 0, @TimerProc, 0, TIME_PERIODIC); 三,定时器过程代码: procedure T Read More
posted @ 2016-03-02 23:36 findumars Views(482) Comments(0) Diggs(0)