条件变量的伪唤醒

起因是这样的,C++的新标准库添加了多线程的支持,有线程和线程同步的实现。我自己是做Windows开发比较多,自然用过Event这样的线程同步对象。但是这个东西,在C++的标准库里面没有。我想到说它有一个“条件变量”,而这个“条件变量”是有一个wait / signal 功能的,这个类看起来能实现 Event 的一部分功能。但是在前几天,有个同事说条件变量的 wait 会在没有被 signal 的时候也自己唤醒。毕竟平时不做 posix 那样系统下面的开发,所以这样的事情没有听说过。那会儿其实我是不信的,但是用关键字“condition variable fake wake”在网上搜了一下以后,看到确实是有这样的事情,然后英语中也不是叫 fake,管它叫 spurious wakeup。

继续阅读条件变量的伪唤醒

视频直播开发的技能树

现在直播什么的很火,还有拍短视频之类。很多人在开发这方面的软件。我在一个这方面开发的讨论群里看了一段时间以后,有这种感觉。就是很多人是对多媒体方面的知识不太够,但是公司又要做,只能硬着头皮上。找资料的时候就会遇到这样一个问题,一些基础知识不会,看文章就看得有点迷糊或者看不懂。找别人写好的函数库来调用的话,只能实现一些简单的需求。所以我在想,我以前在字幕组搞过一段时间视频处理,这方面的知识能不能组织一下列出来,并不是全都要会才能做,里面很多我也不熟,只是在遇到问题时候好有个方向,知道要去查什么。

括号里的英文是用来方便搜索的。因为中文互联网里的资料搜起来很多实在不堪入目,搜英语资料虽然看起来比较累,不过根据经验确实是能少踩点坑

有想到的不完整的地方可能还会来补充。

继续阅读视频直播开发的技能树