
多线程编程
文章平均质量分 72
渡人先渡己
个人github github.com/marco2013
展开
-
同步并发操作
独立线程上同步操作: 条件变量(condition variables)+期值(future) --> 等待事件。误差不敏感的选择: 等待方法:std::this_thread::sleep_for(std::chrono::milliseconds(100)) //休眠100毫秒问题:休眠时间是个学问。最优选择,使用条件变量等待条件。c++提供2个: std::condition_variable(plus std::mutex) + std::condition_variab...原创 2021-02-19 21:25:18 · 273 阅读 · 0 评论 -
C++11 并发与多线程(一)
std::thread 类1.1, 什么叫并发 concurrency?一遍走路一边说话;你打球我游泳单核计算机上的并发是个假象,其实只是任务切换(task switching)需要上下文切换 多处理器或一个处理器上有多个核上的并发才是自然的并发,叫硬件并发并发种类: 1,多进程并发 这些进程间可通过正常的进程通信渠道(信号,套接字,文件,管道等) 缺点:1原创 2018-01-26 19:19:33 · 25795 阅读 · 1 评论 -
C++11 并发与多线程(二)
1)线程间共享数据线程间共享数据的问题 原因:由于修改数据引起,如果都只是读数据,没有任何问题; 竞争条件: 例子:电影院同时买热门电影票,只剩几个位置 **data race** to mean the specific type of race condition that arises because of concurrent modification to a原创 2018-01-28 11:04:43 · 1479 阅读 · 0 评论 -
ffmpeg 多线程测试结果
其实ffmpeg支持多线程转码,但是试验下来效果并不是和想象中的好,测试结果贴下,以飨读者网上有个脚本根据核数测#! /bin/bashecho "Input num : "read numfor (( i=1; i$num; i=i+1 ))do (time ffmpeg -y -threads $i -i in.mp4 -s 320x240 -vcode原创 2018-01-29 11:02:29 · 5112 阅读 · 0 评论 -
c++11多线程 std::mutex 例子
Mutex 又称互斥量,C++ 11中与 Mutex 相关的类(包括锁类型)和函数都声明在 头文件中,所以如果你需要使用 std::mutex,就必须包含 头文件。 头文件介绍 Mutex 系列类(四种) std::mutex,最基本的 Mutex 类。 std::recursive_mutex,递归 Mutex 类。 std::time_mutex,定时 Mutex 类。 st原创 2018-01-29 14:19:14 · 1896 阅读 · 0 评论