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.可进行资源统计

更多文章:
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00






