M
mxchao
Unregistered / Unconfirmed
GUEST, unregistred user!
在设计系统时为了防止一个大的远程数据模块出现,并且能够按对象设计,中间层设计为
有一个远程数据模块(TRomateDataModule),但同时按照一定规则建立了多个数据模块
(TDataModule),每一个数据模块作为一个功能独立的对象。在远程数据模块中只有数据
提供者,所有的数据对象和数据连接都在数据模块中,数据提供者通过数据模块得到数据。
为了能够使每一客户端连接者有独立的数据对象和数据连接,在远程数据模块中建立了其他
数据模块的私有对象。在远程数据模块的事件 OnCreate 中创建所有的数据模块。
按照我的理解在每一个客户端连接时都会建立一个远程数据模块的线程,同时建立了数据对象
和数据连接,每个客户端都有一个独立的线程提供服务。他们时线程安全的。
但实际上在两个用户同时连接时就出项问题。第二个连接受到第一个连接的影响,而不是相互
独立的工作,第一个连接更改服务器设置,第二个连接将会受到第一个的影响,得不到所需数据
给人的感觉线程是不安全的。在远程数据模块中只实例化了一次他定义的数据模块。
(在一个用户连接是不会有问题,可以正常的工作)
1。希望大家能够讨论,这个问题怎么解决?
2。在远程数据模块中建立其他的对象时,线程的问题。
3。远程数据模块在创建一个新线程时都完成了那些工作。
4。怎样才能让每个客户得到一个独立的数据连接。
望大家出手相救!!
有一个远程数据模块(TRomateDataModule),但同时按照一定规则建立了多个数据模块
(TDataModule),每一个数据模块作为一个功能独立的对象。在远程数据模块中只有数据
提供者,所有的数据对象和数据连接都在数据模块中,数据提供者通过数据模块得到数据。
为了能够使每一客户端连接者有独立的数据对象和数据连接,在远程数据模块中建立了其他
数据模块的私有对象。在远程数据模块的事件 OnCreate 中创建所有的数据模块。
按照我的理解在每一个客户端连接时都会建立一个远程数据模块的线程,同时建立了数据对象
和数据连接,每个客户端都有一个独立的线程提供服务。他们时线程安全的。
但实际上在两个用户同时连接时就出项问题。第二个连接受到第一个连接的影响,而不是相互
独立的工作,第一个连接更改服务器设置,第二个连接将会受到第一个的影响,得不到所需数据
给人的感觉线程是不安全的。在远程数据模块中只实例化了一次他定义的数据模块。
(在一个用户连接是不会有问题,可以正常的工作)
1。希望大家能够讨论,这个问题怎么解决?
2。在远程数据模块中建立其他的对象时,线程的问题。
3。远程数据模块在创建一个新线程时都完成了那些工作。
4。怎样才能让每个客户得到一个独立的数据连接。
望大家出手相救!!