编辑
2025-01-14
底层知识
0

在多线程编程当中,经常会遇到一些诸如“同步/异步”,“并发/并行”这样的相似基本概念。

这些概念对初学者来说往往很容易混淆,网络上分散着各式各样的说法,有些甚至是矛盾的,这就导致了一个经典问题,“不知道该听谁的”。

因此我在这里谈一谈我对这些概念的主观理解,不是教你怎么想,而是看我怎么想

事实上,你也不用听谁的,重点是多动手实践思考,然后总结经验形成自己的理解。

单纯的复刻他人的想法,容易遗忘的同时,也没法在生产实践中能很好的指导你,到底不是自己的东西,尽信书不如无书。

编辑
2025-01-11
底层知识
0

在读了南大jyy这篇system领域的顶会论文 The Hitchhiker's Guide to Operating Systems

再加上最近一直有在进行有关StateMachine(SM,状态机)的实践,有了一些心得,故在此总结记录一下。

文本会给出一些实践代码,其中包含了一些论文中所提到的模型(以现代C++复现),也有一些在我自己好奇心的驱逐下诞生的想法,又或者是一些生产中的最佳实践。

编辑
2025-01-04
杂七杂八的想法
0

在阅读了 别像弱智一样提问提问的智慧 ,以及在积累了一些基本实践后,我对于提问也有了一些自己的想法,同时也作为这两篇文章的读后感,谨在此记录一下。

注意,上面提到的两篇文章,是本文的重要参考资料,里面提到了诸多关于提问的指导说明,还是建议读一读的。

不过呢,还是那句老话,尽信书不如无书,需要形成自己的基本理解,并基于实践,不断改善。

编辑
2024-12-27
底层知识
0

C++11标准当中,提供了一个新的关键字thread_local,用于声明一个线程本地变量,即该变量是线程独有的。

它的效果是,对于一个被声明为thread_local的变量a,不同的线程都会持有一个单独的a实例。

假设目前有两个线程A和B,那么同时在线程A当中访问a和在线程B当中访问a,是不冲突的,不存在竞态条件。

本文不探讨如何使用thread_local变量,我们旨在研究其具体是如何实现的,它的底层原理是什么。

编辑
2024-12-11
杂七杂八的想法
0

学习大体上可以分为三个递进的步骤,即知识输入-消化理解-知识输出。作为首要步骤的知识输入,不可谓不重要。

本文旨在提供一个用于知识输入的通用框架,也可以说是具体思路/方法论,当我们遇到新的事物时,如何让我们的大脑接受它。