程序?进程?傻傻分不清

2019-08-15
阅读 3 分钟
1.7k
我们用一个例子来形象的讲解一下这个区别。程序其实本质上和我们的菜谱非常类似,一个菜谱规定了完成一道菜的整个流程,一步一步每个节点执行什么样的操作,但是看一遍菜谱是不能变出一道美味可口的菜肴的。要想真正做出一道菜就应该按照菜谱的要求走一遍,准备好食材,按照菜谱的指导,打开燃气,锅热后倒入油,待油温...

四次挥手与Socket API

2019-08-13
阅读 3 分钟
3.1k
在《三次握手与Socket API》中我们详细讲解了三次握手以及与之相关的API,三次握手是TCP协议的初始阶段,用来建立双方通信连接,显然有建立连接就有断开连接,那么TCP是如何断开连接的呢?

三次握手与Socket API

2019-08-10
阅读 4 分钟
4.5k
一个连接唯一确定了发送方和接收方,除此之外一个连接还确定了双方“说话的方式”,三次握手规定:双方在说话前都要加一个数字,该数字用来记录这是彼此的第几句话了,比如:

进程切换与线程切换的区别?

2019-07-13
阅读 2 分钟
14.5k
对于程序员来说,我们在编程时实际上是不怎么操心内存问题的,对于使用Java、Python、JavaScript等动态类型语言的程序员来说更是如此,自动内存回收机制的引入使得使用这类语言的程序员几乎完全不用关心内存问题;即使对于编译型语言C/C++来说,程序员需要关心的也仅仅是内存的申请和释放。

如何查看进程工作路径

2018-10-10
阅读 1 分钟
7k
比如,你在/home/mac下启动一个进程,那么该进程的工作目录就是/home/mac;如果你在/home/mac/bin下启动同一个程序,那么该进程的工作目录就变为/home/mac/bin。

如何查看进程开启了多少线程

2018-09-29
阅读 2 分钟
6.7k
为什么要知道某个进程开启了多少线程? 好奇,这个很重要 性能调优 概念澄清 这里所说的线程指的是内核级别的线程,不是用户态线程,所谓用户态线程是指不依赖操作系统而是在用户态下实现的执行流调度。 这里的线程个数指的是进程运行时的线程个数,这个数值会随着线程的创建和销毁而动态变化。 本文主要关注Linux平台。...