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