课程内容
我有话说
1/1 C++ std::lock 避免死锁
针对多线程同时操作多个共享资源时容易发生的死锁问题,介绍一种一次性加锁的标准做法。文章用银行账户双向转账的例子还原死锁是如何产生的,对比全局大锁与逐账户加锁两种思路的利弊,再给出按固定顺序或一次性锁定的解决方案。适合正在处理并发数据竞争的读者,读完能理解死锁形成的四个条件,并在实际项目中写出不会相互卡死的加锁代码。
本课程以银行转账案例讲解死锁成因与 std::lock 用法,解读加锁释放重试源码,帮助学习者编写多锁安全代码,提升并发排查能力。
针对多线程同时操作多个共享资源时容易发生的死锁问题,介绍一种一次性加锁的标准做法。文章用银行账户双向转账的例子还原死锁是如何产生的,对比全局大锁与逐账户加锁两种思路的利弊,再给出按固定顺序或一次性锁定的解决方案。适合正在处理并发数据竞争的读者,读完能理解死锁形成的四个条件,并在实际项目中写出不会相互卡死的加锁代码。
本课程通过薪资分布案例与EM迭代计算,讲解高斯混合模型概率聚类原理,帮助学习者掌握分布建模方法,提升无监督学习与模型评估能力。
本课程以日志编号案例讲解thread_local线程私有变量,覆盖作用域与生命周期,帮助学习者编写线程安全代码,提升多线程能力。
本课程讲解 std::bind 参数绑定、占位符重排与可调用对象适配,帮助学习者掌握函数适配器用法,提升 C++ 函数式编程能力。