死锁
死锁的四大原因就不多说了
- 互斥
- 不可剥夺
- 占有并等待
- 循环等待
死锁:就是多个进程(≥2)因为争夺资源而相互等待的一种现象,若无外力推动,将无法继续运行下去。
注意,只有在多进程或者多线程之间或者他们与中断之间相互通讯或者共享资源才有可能发生死锁,单线程或者进程之间没有联系的话,一般不会发生死锁。
锁的种类比较多,这里主要说自旋锁和信号量。两者的差别就在于前者获得不到资源时的动作是不断的资源(即忙转浪费 cpu 的 cycles)而后者则表现为睡眠等待。
凡人皆无法挡
死锁的四大原因就不多说了
死锁:就是多个进程(≥2)因为争夺资源而相互等待的一种现象,若无外力推动,将无法继续运行下去。
注意,只有在多进程或者多线程之间或者他们与中断之间相互通讯或者共享资源才有可能发生死锁,单线程或者进程之间没有联系的话,一般不会发生死锁。
锁的种类比较多,这里主要说自旋锁和信号量。两者的差别就在于前者获得不到资源时的动作是不断的资源(即忙转浪费 cpu 的 cycles)而后者则表现为睡眠等待。
好久没写博客了,上次消失还是兴致勃勃的去写Go结果写了个PHP后台
看完:《Linux内核设计与实现》《Unix网络编程卷一》《深入理解计算机系统》《群山回唱》《康拉德小说选》
正在看:《Unix网络编程卷二》《C++并发编程》《Effective C++》《链接器与加载器》《剑指offer》《正则表达式经典实例》(看了两年了😂)
学习新的语言:golang lua php
掌握新的技能:docker 设计模式 python数据挖掘
阅读源码:lua(gc部分)Nginx libevent
要看的源码:fishhook libco
完成项目:
buffalo-Linux下HTTP服务器
撮虾子-PHP开发兼职APP安卓后台
打算把毕业设计的项目定为下面的其中一个:
设计一个数据库
开发一个IOS应用
继续完善buffalo
由于是搭建一个简单的RESTful,直接上代码
最近因为准备要做一个安卓APP项目,然后我负责的是服务端的搭建
再三考量之后,没有选择现有的后端云平台,而是选择自己搭建一个(其实就是因为我不想和他们去写JAVA啊~)
再三考量之后,PASS掉了不熟悉的JAVA、Nodejs、Ruby等比较流行的后端语言,也没有选择熟悉的C++、python,更没有选择世界上*的编程语言PHP,而是选择了萌萌的Golang