多个线程,同时访问一个数据库中的表,用m_nDefaultType = snapshot;这种快照方式进行从CRecordSet派生一个类(Cmyrs)指向这个表
比如有100个线程同时用这个类对数据库表B进行访问,需要协调吗?
在100个线程同时访问这个表的时候:
Cmyrs myrs;myrs.m_strFilter(....);
myrs.Open();
....
''''' 操作
myrs.Close();--------------同时100个线程都用上面的代码对这个表进行访问,有没有影响
需要不需要用事件之类的对这个表资源进行下管理每次只让一个线程访问
比如有100个线程同时用这个类对数据库表B进行访问,需要协调吗?
在100个线程同时访问这个表的时候:
Cmyrs myrs;myrs.m_strFilter(....);
myrs.Open();
....
''''' 操作
myrs.Close();--------------同时100个线程都用上面的代码对这个表进行访问,有没有影响
需要不需要用事件之类的对这个表资源进行下管理每次只让一个线程访问
方法很多,自己google
再则,我的问题不是问,怎么同步
我是问,如果三个同步的线程由于一个事件而一直处理等待状态,而他们的是一直不断的去循环等待事件被释放那其他的线程会不会收到影响--------------------------------
就都启动了注意:有个全局 事件,这个全局事件仅仅对b c d 这三个线程有影响
对线程a没有影响。b c d三个线程要再获得事件后,才能执行,否则,都是处于等待状态,虽然他们已经启动了,但仅仅是等待,没有进行任何动作。-----------------------------
如果,b c d三个线程,在线程b获得事件而执行的时候,由于某种特殊的情况而一直没有释放事件给其他c d 线程,c d线程就会一直等待,
我想问的是:线程a会不会收到影响??
===================
问的是:如果,因为这100个线程某一个线程由于非常特别的原因,一直没有释放掉事件显然,那99个线程会一直等下去,这个我知道----------------------我要问的是:100以外的其他线程会受到影响吗?对了,什么效率之类的,就不要说了
我主要是说,100以外的线程还能不能正常的各自执行