腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
使用
lock
调用
成员
函数
?
、
我设计了一个类似下面的队列,其中一个问题是,如果
成员
函数
中有一个锁,我想在另一个
成员
函数
中
调用
它,这个
成员
函数
中也有一个锁。这会导致可重入锁的问题吗?class MyQueue { bool Empty() { return queue_.size() ==0; bool Dequeue(std::string& d
浏览 47
提问于2021-02-24
得票数 1
回答已采纳
1
回答
在不导致死锁的情况下将互斥锁锁定在更大的范围内
、
、
、
我有一个类,其中一个
成员
函数
两次
调用
另一个
成员
函数
。它
调用
的
函数
锁定互斥锁,以便线程安全。
调用
的工作方式,为了使
调用
函数
具有线程安全,我需要确保两个
函数
调用
都是在两个
函数
调用
之间不执行InnerFunction的情况下完成的。基本上,我需要外部
函数
锁定内部
函数
所
使用
的同一个互斥项,以确保在外部
浏览 11
提问于2022-02-18
得票数 0
3
回答
同步对返回值的访问
、
、
、
考虑以下C++
成员
函数
: { return m_size;这里的目的不是同步对私有
成员
变量m_size的访问,而是确保
调用
方收到m_size的有效值。目标是防止
函数
在其他线程修改m_size的同时返回m_size。 但是,在
调用
此
函数
时是否涉及到任何潜在的种族条件
浏览 4
提问于2010-07-08
得票数 14
回答已采纳
2
回答
boost::类中线程
成员
函数
调用
返回unique_
lock
实例化错误
、
、
我
使用
boost::thread从同一个类的不同
成员
函数
中
调用
类中的
成员
函数
。我想要执行的方法声明如下:我正在通过以下方法从另一个
成员
函数
创建线程this,在我<em
浏览 7
提问于2016-11-24
得票数 0
回答已采纳
6
回答
确保某些私有
函数
只能从锁定状态
调用
。
、
、
假设我有一个类Apublic: void write_x_data() { // unlock this instance of A void write_y_data() { //
lock
void private_function2_whi
浏览 6
提问于2009-11-20
得票数 1
回答已采纳
2
回答
boost scoped_
lock
vs普通锁定/解锁
、
、
、
我将
使用
boost/thread/mutex.hpp中的boost::mutex。有几种锁定/解锁互斥锁的方法:
使用
scoped_
lock
、unique_
lock
、
lock
_guard、互斥锁的
成员
函数
::
lock
()和::unlock()以及非
成员
函数
lock
()和unlock()我注意到,boost::scoped_mutex是
使用
互斥锁最流行的方
浏览 0
提问于2013-03-03
得票数 43
回答已采纳
1
回答
哪些标准的c++
函数
和类型支持重入性?
、
C++标准(c++14和)指出: 可重入代码不能
调用
不可重入
函数
(请参阅下面的可重入规则)。考虑到这一点,总结C++代码只有在没有
使用
C++标准类型或
函数
的情况下才能安全地重入是正确的吗?中断可由内部操作(如
浏览 7
提问于2020-10-30
得票数 1
1
回答
Java并发: ReentrantLock是一个错误的设计吗?
但是,这些行为只控制“国家”
成员
。}为什么线程B可以看到线程A关于共享
成员
的修改?在Android中: 它
浏览 0
提问于2017-03-23
得票数 1
回答已采纳
2
回答
确保当前线程持有C++11互斥锁。
、
、
、
、
特别是,我希望确保类中的某些
函数
只在
调用
线程持有对象的锁(通过std::
lock
_guard、std::unique_
lock
或类似的方法)时
调用
,而std::mutex是
成员
变量。为了避免在大量
使用
对象时重复锁定和解锁,锁定mutex的责任需要由
调用
方负责,不能在每个单独的
函数
中执行,而且如果当前线程在
调用
这些
函数
时没有锁定mutex,我想抛出一个异常。看来,我不能只
使用
std:
浏览 5
提问于2015-03-03
得票数 7
回答已采纳
3
回答
与普通互斥锁相比,唯一的锁是如何工作的?
、
、
我很遗憾我买了它mutable std::unique_
lock
<std::mutex> m_finishedQueryLock{ m_mutex, std::defer_
lock
}; void SetPlayerQuit() m_finishedQueryLock.
lock
();m_playerQuit = true;} 我不满意这本书对它的工作
浏览 2
提问于2015-08-21
得票数 3
回答已采纳
5
回答
在const
函数
中
使用
boost::mutex::scoped_
lock
、
、
{ { //critical section } 但是将
函数
定义为non会很好。
浏览 14
提问于2015-03-19
得票数 2
回答已采纳
1
回答
pthread_mutex_t结构:锁代表什么?
、
、
、
、
__
lock
“代表什么?它像分配给互斥体的锁号吗?typedef union struct __pthread_mutex_s int __
lock
; int _
浏览 4
提问于2014-05-03
得票数 4
回答已采纳
2
回答
在析构
函数
中保存一个std::
lock
_guard安全吗?
、
、
运行它为):#include <mutex> { ~Foo() std::
lock
_guard<std::mutex>
lock
(mutex);}; { Foo foo; std::cout << "everything seems<< std::endl;具体来说,我们是否保证在析构
函数
浏览 1
提问于2019-05-01
得票数 6
回答已采纳
1
回答
boost::condition_variable --
使用
带有谓词的wait_for
、
、
、
我阅读了boost文档,似乎最好将
函数
wait_for与谓词一起
使用
,如所描述的那样。 bool myPredicate(); boost::unique_
lock
<boost::mutex>
lock
(mutexsystem_clock::time_point wakeUpTime = boost::chrono::system_clock::now() + period
浏览 7
提问于2013-10-11
得票数 3
回答已采纳
1
回答
Boost Thread的boost::unique_
lock
是一个作用域锁吗?
、
、
我理解boost::mutex::scoped_
lock
锁定的变量在超出作用域时会自动解锁。boost::mutex x_mutex; { boost::unique_
lock
<boost::mutex>
lock
(x_mutex
浏览 4
提问于2012-02-29
得票数 12
2
回答
静态向量的大小
、
、
我在
成员
函数
中
使用
静态向量,并将值推回该向量;但是,对于三个
函数
调用
,向量的大小仅为1。void test(T a) std::cout<<"Function called \n"; std::
lock
_guard<std::m
浏览 6
提问于2016-04-22
得票数 4
回答已采纳
1
回答
组
成员
函数
都需要先隐式互斥锁吗?
、
、
、
、
客户端对每个设备对象
调用
数十个
成员
函数
(“设备
函数
”)。void DeviceFunctionXXX(); lots and lots of device functions // ...设备类具有
成员
一种明显但重复且繁琐的方法是在每个设备功能的执行顶部复制/粘贴mutex_.try_
lock
()代码。“分组”,使mutex_.try_
lock
()
调用<
浏览 0
提问于2019-04-22
得票数 0
回答已采纳
1
回答
在销毁过程中是否从另一个线程未定义的行为中
调用
对象上的方法?
在从另一个线程未定义的行为
调用
析构
函数
期间,是否对对象
调用
一个方法(我保证所需的字段仍然是活动的和可访问的,并且对它们的访问是同步的)?(12.7.4)说:
成员
函数
,包括虚拟
函数
(10.3),可以在建造或销毁过程中
调用
(12.6.2)。当一个虚拟
函数
直接或间接地从构造
函数
或析构
函数
调用
时,包括在构造或销毁类的非静态数据
成员
期间,而该
调用
应用到的对象是正在构造或
浏览 1
提问于2018-09-13
得票数 0
3
回答
线程安全堆栈C++中的潜在死锁
、
、
在“在操作中的并发性”一书中,有一个线程安全堆栈的实现,其中在输入pop()和空()
函数
时获取/锁定互斥锁,如下所示: private:void pop(T& value) { if(data.empty()) throw empty_stackvalue = std::move(data.top());
浏览 0
提问于2020-05-04
得票数 4
回答已采纳
1
回答
Java并发: ReentrantLock是一个错误的设计吗?
、
我知道AbstractQueuedSynchronizer(AQS)
使用
ReentrantLock来实现
Lock
。但细节的实现,我无法理解。虽然,LockSupport.park和LockSupport.unpark可以同步线程的进程。但是,如果从来没有争用,LockSupport方法将永远不会被
调用
。
lock
.unlock();4.然后是线程B:
lock
.
lock<
浏览 1
提问于2017-03-23
得票数 3
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
使用ltrace工具跟踪PHP库函数调用的方法
Python使用ctypes模块调用DLL函数传递结构体参数
实现线程安全队列——细粒度锁实现
智能指针:让C+程序更加安全和高效的神器
Python的GIL是什么?
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券