社区
C++ 语言
帖子详情
这段小代码是做什么的?
malone1
2009-05-08 10:50:02
CSingleLock singleLock(&m_mutex);
singleLock.Lock();
while(!singleLock.IsLocked())
{
Sleep(100);
singleLock.Lock();
}
if (singleLock.IsLocked())
{
....
}
return 0;
...全文
114
11
打赏
收藏
这段小代码是做什么的?
CSingleLock singleLock(&m_mutex); singleLock.Lock(); while(!singleLock.IsLocked()) { Sleep(100); singleLock.Lock(); } if (singleLock.IsLocked()) { .... } return 0;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
紫龙超超
2012-07-05
打赏
举报
回复
如果没有锁,就等一会儿,锁上;然后看看锁没锁上,如果没锁上,继续锁。
crst_zh
2009-05-08
打赏
举报
回复
lock,直到成功lock了,然后才操作啊。
k1988
2009-05-08
打赏
举报
回复
[Quote=引用 7 楼 ilysony 的回复:]
尝试去获得锁
如果得到锁,进行循环?
[/Quote]
你么有看清楚,(!singleLock.IsLocked()) ,这里面是逻辑非。
Sou2012
2009-05-08
打赏
举报
回复
尝试去获得锁
如果得到锁,进行循环?
k1988
2009-05-08
打赏
举报
回复
[Quote=引用 4 楼 malone1 的回复:]
引用 1 楼 sencrus 的回复:
检查是否lock,如果没有,则循环lock,
则循环lock有什么用?
[/Quote]
循环的去尝试lock,如果没有猜错这个类是用来等待m_mutex这个互斥量空闲的。
CSingleLock singleLock(&m_mutex); //创建一个单锁类
singleLock.Lock(); //先尝试进行对m_mutex进行占用
while(!singleLock.IsLocked()) //判断是否已经对m_mutex进行占用成功
{
Sleep(100); //如果没有成功刚说明,其它线程的代码占用了m_mutex这个互斥量,就将本线程睡眠100ms
singleLock.Lock(); //继续尝试占用
}
if (singleLock.IsLocked()) //上面的循环执行完成后,一般来说对m_mutex进行占用就应该成功了,这儿多了一个判断,我认为这个判断可有可无
{
....
}
return 0;
liao05050075
2009-05-08
打赏
举报
回复
这是有关多线程的。
建议LZ搜索一下这方面的内容
malone1
2009-05-08
打赏
举报
回复
[Quote=引用 1 楼 sencrus 的回复:]
检查是否lock,如果没有,则循环lock,
[/Quote]
则循环lock有什么用?
wrinky
2009-05-08
打赏
举报
回复
检查资源是否被lock了,多线程资源同步中用的比较多
Paradin
2009-05-08
打赏
举报
回复
搞不清楚。mark
sencrus
2009-05-08
打赏
举报
回复
检查是否lock,如果没有,则循环lock,
Sou2012
2009-05-08
打赏
举报
回复
[Quote=引用 8 楼 k1988 的回复:]
引用 7 楼 ilysony 的回复:
尝试去获得锁
如果得到锁,进行循环?
你么有看清楚,(!singleLock.IsLocked()) ,这里面是逻辑非。
[/Quote]
没错啊,尝试去获得,如果没有被锁定,就得到了锁
这段
代码
是什么意思?
如果 `pretrain=True`:加载在 **ImageNet** 数据集上预训练好的权重(模型已学习通用图像特征)。- **示例**:猫狗分类(`n_classes=2`)或 CIFAR-10(`n_classes=10`)。- 当 `pretrain=True` 时,冻结所有预训练层的权重,**禁止它们在训练中更新**。- **`device`** 可能是 `"cuda"`(GPU)或 `"cpu"`。- **小数据集**:冻结大部分层,仅训练最后的 `fc` 层,防止过拟合。
趣图:写完
这段
代码
,就被开除了
写完
这段
代码
,就被开除了↓↓↓你们知道是为什么被开除了嘛?记得点击「在看」,然后转给你身边的朋友们。 ...
怎么使用
这段
代码
?
这段
代码
看起来像是一个 Python 程序。为了使用
这段
代码
,你需要有一个 Python 解释器,并且你需要将
代码
保存到一个文件中。然后,你可以在命令行中输入以下命令来运行
代码
: python your_file.py 其中 your_file.py 是你保存
代码
的文件的名称。 如果你没有安装 Python 解释器,请先安装 Python,然后再尝试运行
代码
。 希望这个回答能帮到你! ...
好友让我看
这段
代码
周末的时候,一个微信好友让我旁边看一段
代码
在写下面的文章之前,我先简单说下写
代码
是一件非常有意思的事情,同时也是一件需要我们认真对待的事情,我不认为一定要把
代码
写的和大神一样看不明白,但是至少要逻辑清晰,不能出现混淆不清的情况发生。最近一年,我也在不断的提高自己的编程能力,之前的工作,很多是
做
处理系统和驱动等事情,但是实际的应用编程并没有很强的功底。也是在不断学习和前进,...
刚写完
这段
代码
,就被开除了……
最近在微信群里看到一张图,说是刚写完
这段
下面
这段
代码
就被开除了。开除的原因是因为没写注释吗?显然不是,休眠的逻辑,大家都懂,不需要写注释,你注释写休眠 1 天也没意义啊。。。这个程序员的...
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章