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+.