如问题
解决方案 »
- 为什么代码只能看不能修改??
- 想不通的问题,,,,,,,,
- 想把字符串 "数据软件" 变成 "#25968#25454#37319#36719",这样的函数有么?
- 【怪!】为什么我的Timer部分工作,部分却不工作?????
- 急!!WindowsXP可以上网,却用不了网上邻居!在线等!!!!!!!
- 可以在这里调用CHANGECOLOR过程吗
- 我现在需要在TNotebook组件中画背景图
- 各位高手请注意:一个有挑战性的问题(如何实现屏幕过滤?)急!!!!
- 特急特急求救,如何进行交叉表的查询?
- 如何使DELPHI写的程序在WIN95/98X下隐藏(用ctrl+alt+del看不到)
- 关于indy9中如何得到mx记录?
- 我用IdAntiFreeze来防止程序没有响应,为什么不行?
1。不能保证值的正确性;因为其作用域是全局,所以程序范围内都可以修改它的值,如果出现错误非常难以发现。
2。如果在多线程中使用全局变量,你的程序很可能将会错的一塌糊涂。多线程会修改另一个线程使用的全局变量的值,如果不注意,一旦出错后果不堪设想。所以在这种情况下万不得意不要使用全局变量。
3。如果在DLL中使用全局变量。DLL定义的全局变量可以被调用进程访问;DLL可以访问调用进程的全局数据。使用同一DLL的每一个进程都有自己的DLL全局变量实例。如果多个线程并发访问同一变量,则需要使用同步机制;对一个DLL的变量,如果希望每个使用DLL的线程都有自己的值,则应该使用线程局部存储(TLS,Thread Local Strorage)。总而研之,全局变量的使用不当,很可能让你的程序在对数据处理的时候,让你错的乱七八糟,尤其是在并发访问的时候。