在VB中我定义了一个全局变量
public iCount as Interger在一个过程一中会iCount=iCount+1
在过程二中也会iCount=iCount+1
而这两个过程可能会同时被调用,
如何保证数据完整?多谢了
public iCount as Interger在一个过程一中会iCount=iCount+1
在过程二中也会iCount=iCount+1
而这两个过程可能会同时被调用,
如何保证数据完整?多谢了
解决方案 »
- 请问有人用VB开发过读取串口数据的吗?
- 用水晶报表打印一张单据,怎么样给单据的单头赋值?
- 急!怎么用代码实现文本框和 Data控件绑定?
- 一个奇怪的问题:ActiveReport第二次被调用的时候出现死循环!
- 我想找一个能播放rm. mp3. 等格式的控件,不知道哪里能找到
- 为什么我在这里发帖的时候每次复制都要按两次Ctrl+V才复制上去?
- mscomm控件和print #的问题,急请高手解决
- 请问怎样使窗口象qq一样始终在最上层,但不影响后台程序的运行
- 紧急求救??????Form2.0控件的下拉框可以显示多列,但是如何为列添加标头?
- 各位老师如何把JPG图象WINSOCK群发给客户(多台,同时)的机器?
- 多件文件下载问题?
- MS flexgrid 如何设置不允许鼠标滑动选择多行(只允许每次单击选择一行)
另一个过程是我手动调用的,点一个按钮调用,所以,这样可能会冲突,无法保证数据完整,
另一个过程是我手动调用的,点一个按钮调用,所以,这样可能会冲突,无法保证数据完整,
--------------------------------------------------------------------
试着利用以下函数,它可能符合你的要求:
Public Declare Function InterlockedDecrement Lib "kernel32" Alias "InterlockedDecrement" (lpAddend As Long) As Long
这个函数用于对一个数加1,同时保证在加1完成之前,不会有别人也能对这个数加1。我想你可以在winsock控件数据到达时调用InterlockedDecrement(iCount)
点一个按钮调用也调用InterlockedDecrement(iCount)
,函数的返回值是加1后的值。函数的详细说明参见msdn