首页 > 编程知识 正文

c语言未找到main入口,if函数嵌套步骤

时间:2023-05-04 09:05:25 阅读:150226 作者:1290

关键节的作用(避免不同线程同时访问关键节中的数据(通常为共享资源),从而实现线程同步操作。 要允许其他线程继续访问共享资源,进入关键节的线程必须首先终止访问。

临界区域的使用方法如下所示。

*.h头文件:

#包含

CRITICAL_SECTIONm_cs_test;

//定义临界分区对象

使用*.cpp源文件:

在类的构造函数中初始化关键对象

//此函数必须在任何线程调用EnterCriticalSection函数之前调用。 否则,后果难以预测

:3360初始化身份验证(m _ cs _ test );

在类的虚构函数内释放临界区域对象

:3360删除身份验证(m _ cs _ test );

使用方法1 :

在要使用的函数上开始锁定。

criticalsectionlocklock (m _ cs _ test;

函数生命周期结束后会自动解除锁定。

使用方法2 :

//进入开始锁定数据:共享资源的保护只从一个线程调用

entercriticalsection(m_cs_test;

.//do something you want to

//离开锁定的数据:允许共享资源被其他线程调用

leavecriticalsection(m_cs_test;

可以使用以下函数代替EnterCriticalSection。

ooltryentercriticalsection (pcritical _ section PCs;

TryEnterCriticalSection函数不能使调用线程处于等待状态。 相反,返回值指示调用线程是否可以访问资源。 因此,如果TryEnterCriticalSection检测到资源被另一个线程访问,它将返回FALSE。 否则,返回TRUE。

通过此函数,线程可以快速验证是否可以访问共享资源。 如果无法访问,您可以继续执行其他操作,而无需等待。 如果TryEnterCriticalSection函数返回TRUE,则CRITICAL_SECTION的成员变量已更新以反映线程正在访问资源。 因此,对返回TRUE的TryEnterCriticalSection函数的每个调用都必须与对LeaveCriticalSection函数的调用匹配。

Windows 98没有可用的TryEnterCriticalSection函数的实现代码。 调用此函数时总是返回FALSE。

PS:可以通过传递不同的参数对象(如m_cs_test )来定义不同的关键对象(CRITICAL_SECTION )并锁定不同的共享资源。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。