Beispiel #1
0
 /// <summary>
 /// 文件读取器
 /// </summary>
 /// <param name="physical">内存数据库物理层</param>
 public fileReader(physical physical)
 {
     this.physical = physical;
     fileStream    = new FileStream(physical.path + physical.fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, fastCSharp.config.appSetting.StreamBufferSize, FileOptions.SequentialScan);
     size          = fileStream.Length;
     waitHandle    = new autoWaitHandle(false);
     clientHandle  = new autoWaitHandle(false);
     if ((size & 3) == 0 && size >= sizeof(int) * 3)
     {
         threadPool.TinyPool.FastStart(this, thread.callType.MemoryDatabasePhysicalFileReader);
     }
     else
     {
         Dispose();
         physical.dataError();
     }
 }
Beispiel #2
0
 /// <summary>
 /// 同步等待调用
 /// </summary>
 private waitCall()
 {
     waitHandle = new autoWaitHandle(false);
 }