听说delphi 7的补丁解决了dbexpress里的一些问题了,不过也听说dbexpress不是线程安全的。如果是真的话在三层结构的程序里岂不是不能使用了吗?但dbexpress的速度确实很吸引人,请各位大虾发表一下意见。

解决方案 »

  1.   

    VCL的东西基本都不是线程安全的。三层里面和线程不完全一样。三层有线程和非线程的,即使是线程,
    里面的这些问题你一般不用考虑。
      

  2.   

    dbexpress不是线程安全的不奇怪啊,大部分VCL都不是线程安全的,如果你
    在中间层使用dbexpress,那么只要你的RemoteDataModule是线程安全的不就
    可以了?
      

  3.   

    普通的datamodule是不是线程安全的呢?
      

  4.   

    不是的,RemoteDataModule本身也不是线程安全的,只不过,你的客户请求
    数据存取时,某些模式的RemoteDataModule会为每一个连接分配一个RemoteDataModule,所以在这些模式下的RemoateDataModule不存在线程安全
    的问题,除非你在RemoteDataModule内使用多线程,那样的话,线程间的同步
    就要由你自己确保了。
    不知道这样说你是否明白,你最好看看Delphi关于RemoateDataModule的帮助,例如Developing Database Applications|Creating multi-tiried application|Configuring TRemoteDataModule一节