各位好,我做了一个组件,在ASP中调用,但是我发现单个用户使用时,是好使的,但是在多个用户同时使用时就不好使了(COM中的变量值变最后一个用户访问时的值了,可是我希望是每一个用户单独执行COM互不干扰呀?),我想可能是多线程的问题,但是又不知道怎么解决才好,请大家多多指教,谢谢!
解决方案 »
- VC 调用dos版可执行程序,如何等待该可执行程序运行结束后才运行下一步?
- MFC做得聊天程序问题
- 问题请教
- vc++ mfc 请给点建议
- SQL 2000,我想将一个表中的某一个字段的值,用SQL语句给一个变量,有这样的语句吗?
- 怎么样写这样一个线程函数?
- 要想用类的成员函数做线程函数,为什么只有静态函数才能担当此任?
- SDI 工程,如何在 CMainFrame 中能够访问、操作 C***Doc 中的变量?
- 為何我的程序在編譯時能通過,運行也可以,但是當我運行release和debug目錄下的.exe時就不行了??
- 病毒样本!
- 等待线程结束问题?
- 请问大侠们在vc.net里怎样将int转成CString(强制转换为什么不管用?)
把代码里面的全局或者静态变量全部改写成局部变量,就行了吗,不用做其他事情吗?
话不能说得这么绝对,呵呵。如果是用来记录全局数据的,你就应该把全局变量该为类的对象成员;不是说全部安全照改就可以了还是要看实际情况的,要看你原来定义的全局变量的意义和作用,再保证逻辑不改变的前提下,改为局部变量和类的非静态成员数据。
数据库中锁的概念不就类似楼主这样吗。多个用户访问一个内容,并有修改它的权限,那么数据库要怎么保护这个数据,就用了锁的概念。
全局变量总是被所有的客户共享.建议你设置成 单线程公寓模型.
然后把共享变量类作为类成员.
这样就可以为每一个客户准备一个copy