criticalsection(delphi XE4多线程critical section问题)

本文目录
delphi XE4多线程critical section问题
无法给你代码,别急,越急越解决不了问题,找本书研究下线程,现在你的上述逻辑有问题。
按你的意思,2个线程同时工作的话逻辑应该是:线程1做完了,线程1应该就要等待,然后线程2做,线程2做完了,就等待,线程1做。
在线程1做完了就关掉(就是线程1做完了,线程1等待),在Execute里面写FreeOnTerminate:=True,在Thread1Done里面启动线程2,线程2的Thread2Done里面启动线程1.循环。。。。临界区都不要。
逻辑才不会乱,你现在用一个Execute函数(当然是一个) 用一个ThreadDone 。。当然各种阴差阳错。
//leaveCriticalSection写到Thread1Done 和 Thread2Done 里面去。
CriticalSection这样用哪里错了
static CRITICAL_SECTION lps; 是静态变量,只需要初始化一次;
不能放在sample 的构造函数里面初始化。
你定义一个静态函数来初始化它,然后一个静态函数来删除它。
Critical Section和Mutex的不同点
1.Critical Section
A.速度快
B.不能用于不同进程
C.不能进行资源统计(每次只可以有一个线程对共享资源进行存取)
2.Mutex
A.速度慢
B.可用于不同进程
C.不能进行资源统计
3.Semaphore
A.速度慢
B.可用于不同进程
C.可进行资源统计(可以让一个或超过一个线程对共享资源进行存取)
4.Event
A.速度慢
B.可用于不同进程
C.可进行资源统计

更多文章:
windows程序设计第五版(《WINDOWS程序设计》和《WINDOWS核心编程》的区别)
2026年10月15日 11:30
issued retroactively(FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待)
2026年10月15日 10:30
begin和start的区别(start与begin的区别)
2026年10月15日 09:20
vant官网中文(范特365 是韩国化妆品VANT36.5吗)
2026年10月15日 09:10
prison break(越狱(prison break)到底是在讲个什么)
2026年10月15日 06:50
c程序设计第五版教学视频(求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!)
2026年10月15日 06:40





