多线程指针操作(50分)

  • 主题发起人 主题发起人 delphifaq
  • 开始时间 开始时间
D

delphifaq

Unregistered / Unconfirmed
GUEST, unregistred user!
TList 存储数据对象指针,有两个线程,其中一个ADD数据指针,另一个读取数据指针里的数据后再删除
请问这两个线程对同一个TLIST和他包含的数据操作,是否有冲突,如果有应该怎么解决;我的程序在运行
时总有操作指针错误
 
应该是有冲突的, 解决方法得再看看, (因为 Thread 不常用).
 
加锁(你的现象,如果TList内部没有同步的话,就是你的程序本身有问题,最好看
一下原码)
同步互斥可以使用以下的方法:
首先创建一个Mutex
hMutex = CreateMutex( NULL,FALSE,NULL );
在访问前,锁定:
WaitForSingleObject( hMutex,INFINITE );
访问数据(增加,删除)
然后,解锁:
ReleaseMutex( hMutex );
 
你不会自己结束问题?那么多问题要别人帮你结束??
 
后退
顶部