c++ 11/14/17/20
c++
back2childhood
cpp/java/macos
展开
-
条件变量----condition_variable
和wait不同的是,wait_for可以执行一个时间段,在线程收到唤醒通知或者时间超时之前,该线程都会处于阻塞状态,如果收到唤醒通知或者时间超时,wait_for返回,剩下操作和wait类似。解锁正在等待当前条件的线程中的一个,如果没有线程在等待,则函数不执行任何操作,如果正在等待的线程多余一个,则唤醒的线程是不确定的。与wait_for类似,只是wait_until可以指定一个时间点,在当前线程收到通知或者指定的时间点超时之。解锁正在等待当前条件的所有线程,如果没有正在等待的线程,则函数不执行任何操作。原创 2023-05-30 22:32:47 · 998 阅读 · 0 评论 -
C++11 互斥量mutex----mutex/time_mutex/recursive_mutex/recursive_timed_mutex
std::mutex 是C++11 中最基本的互斥量,std::mutex 对象提供了独占所有权的特性——即不支持递归地对 std::mutex 对象上锁,而 std::recursive_lock 则可以递归地对互斥量对象上锁递归锁允许同一个线程多次获取该互斥锁,可以用来解决同一线程需要多次获取互斥量时死锁的问题。需要用到递归锁的多线程互斥处理本身就是可以简化的,允许递归很容易放纵复杂逻辑的产生,并且产生晦涩,当要使用递归锁的时候应该重新审视自己的代码是否一定要使用递归锁;原创 2023-05-15 23:49:12 · 588 阅读 · 0 评论 -
C++ std::ref demo
C++ 多线程、参数传递原创 2023-03-09 09:51:23 · 45 阅读 · 0 评论 -
c++11 std::function demo函数
c++11 语法原创 2023-03-08 19:33:09 · 120 阅读 · 0 评论 -
C++std::async 异步操作 cppreference
异步操作原创 2023-03-09 14:30:55 · 132 阅读 · 0 评论 -
C++ packaged_task demo cppreference
多线程开发原创 2023-03-09 19:12:39 · 56 阅读 · 0 评论 -
C++ std::promise cppreference
multi thread原创 2023-03-09 20:58:54 · 117 阅读 · 0 评论 -
C++ std::future reference
future原创 2023-03-09 21:09:17 · 70 阅读 · 1 评论 -
c++11reference / perfect forwarding/ move semantic
引用原创 2023-03-13 19:14:01 · 84 阅读 · 1 评论