天天看點

Delphi中MIDAS線程模型種類(MIDAS之四)

Delphi中MIDAS線程模型

  (1)Single

     代表所産生的In-Process COM程式是一個單一線程的程式,一次隻能接收一個client發出來的request,由于是循環的操作,是以不會有多任務同時進行的問題,你的COM程式不需要編寫多任

     務處理的部分.

  (2)Apartment

     代表每一個Remote Data Module所産生的instance一次隻能處理一個前台發出的request,可是如果同時建立多個In-Process COM程式,那麼每個COM程式都會有一個線程來處理,每個

     instance所處理的資料是安全的,可是你必須防止一些共享變量的沖突.

  (3)Free

     該線程模式可以讓Remote Data Module産生的每個instance通過各自的線程處理每個前台發出的request,是以Remote Data Moudle本身必須采用多線程的程式寫法,你必須保護每

     個instance所處理的資料區域不會互相沖突..當使用ADO資料集時,推薦使用Free模型.

  (4)Both

     與Free相同,除了所有對應前台界面的callback是連續的以外.

  (5)Neutral

     此種模式允許多個前台程式在同一個時間以不同的線程來調用Remote Data Module,不過COM對象必須確定不會有前台程式調用的沖突,你要确定每個線程在通路全局變量及執行個體資料時,不

     會發生任何沖突.這個模式隻适用在COM+.

繼續閱讀