人活着就是在对抗熵增定律,生命以负熵为生。
——薛定谔《生命是什么》
如果物理学只能留一条定律,
我会留熵增定律。
说这句话的人叫吴国盛,清华大学的科学史系主任。
人活着就是在对抗熵增定律,生命以负熵为生。
——薛定谔《生命是什么》
如果物理学只能留一条定律,
我会留熵增定律。
说这句话的人叫吴国盛,清华大学的科学史系主任。
人生低谷,也慢慢看透了社会运转的本质
不知道接下来做什么,先把对一生都具有决定性影响且能简单做到的事情做好,下面列出的是三条非常基础的规则,先把它们做好
——爸爸妈妈天天在家里搂搂抱抱,打闹追逐。一家人吃肉跳舞看电影打游戏。
这样的家庭,由于儿童的认知系统感觉到环境的“高度协作性,高度激励性”,他的情绪状态就会异常的好。因为他吃下去的营养大脑根本不会用来发育“警觉”。心态能不好吗。我们人的压力是一个生理反应。并不是心理问题。
对社会的本质已经有了一个基本的认识,往后无需也不能刷短视频和新闻了(浪费时间),把时间聚焦到自己感兴趣的事情上来 2025.05.28
我们不是在经济下行周期,而是一个时代的落幕 2024.05.15
Go:defer 语句如何工作
ℹ️ 这篇文章基于 Go 1.12。
defer 语句是在函数返回前执行一段代码的便捷方法,如 Golang 规范所描述:
在《Go精妙的互斥锁设计》一文中,我们详细地讲解了互斥锁的实现原理。互斥锁为了避免竞争条件,它只允许一个线程进入代码临界区,而由于锁竞争的存在,程序的执行效率会被降低。同时我们知道,只有多线程在共享资源中有写操作,才会引发竞态问题,只要资源没有发生变化,多线程读取相同的资源就是安全的。因此,我们引申出更细粒度的锁:读写锁。
什么是读写锁
读写锁是一种多读单写锁,分读和写两种锁,多个线程可以同时加读锁,但是写锁和写锁、写锁与读锁之间是互斥的。
读写锁对临界区的处理如上图所示。其中,t1时刻,由于线程1已加写锁,线程2被互斥等待写锁的释放;t2时刻,线程2已加读锁,线程3可以对其继续加读锁并进入临界区;t3时刻,线程3加了读锁,线程4被互斥等待读锁的释放。
本文是《go调度器源代码情景分析》系列 第一章 预备知识的第九小节。
要深入理解goroutine的调度器,就需要对操作系统线程有个大致的了解,因为go的调度系统是建立在操作系统线程之上的,所以接下来我们对其做一个简单的介绍。
implicit declaration of function——函数隐式声明警告
原因: 1、该函数未被声明,但却被调用了,此时gcc会报这样的警告信息。 2、(网友总结)该函数所在源文件没有被编译为.o二进制文件。