提示
计算机和编程语言由人类发明,为人类生产工作和生活提供便利和帮助.同样的代码和编程语言一定也可以用生活语言来诠释.游鹄君(本人)致力于通过精简的日志手册,快速学习掌握知识技能来投入应用.并结合举例子,打比方的方式,让自己以及有疑惑的同业者能够更简单的理解编程语言,从而更好的规划书写代码!

一面火,一面冰.繁与简的完美结合,杂而不乱,一切本应就是井然有序
提示
计算机和编程语言由人类发明,为人类生产工作和生活提供便利和帮助.同样的代码和编程语言一定也可以用生活语言来诠释.游鹄君(本人)致力于通过精简的日志手册,快速学习掌握知识技能来投入应用.并结合举例子,打比方的方式,让自己以及有疑惑的同业者能够更简单的理解编程语言,从而更好的规划书写代码!
操作系统资源分配的最小单位。
每一个进程有独立的内存空间、独立文件描述符。进程之间天然隔离,一个进程崩溃,一般不会直接干掉别的进程。
Linux 里 FPM 的每一个 worker,就是独立进程。进程之间切换开销很大,因为操作系统要换页表、切换内存上下文。
进程内部的执行单元,一个进程可以开多条线程。
同进程内所有线程共享这块进程的内存空间(堆、全局变量),各自只有独立栈。
线程切换开销比进程小很多;风险就是一个线程写坏共享内存,同进程其他线程跟着遭殃,容易出现竞态问题。
多个任务交替轮流执行,看起来像 “同时” 在跑,不一定需要多个 CPU 核心。
单核 CPU 就可以实现并发。CPU 快速来回切换任务,一会儿处理 A 下单、一会儿处理 B 下单。
例子:同一个 CPU 核心,轮流切换处理多个下单请求。任务交替穿插跑,宏观上感觉是一起在处理,微观上同一时刻 CPU 只在跑其中一个。
可以是同一段代码(多个用户下单),也可以是不同代码(下单、提现来回切)。
今天看数据结构,说到算法里面栈(stack)说到先入后出,我懵了一下,然后回味一下我记得的是后进先出,这么一想也没错.
可是自己觉得还是后进先出更符合栈的特性.也更容易理解记忆.
先入后出 和 后进先出(LIFO)字面是同一个逻辑,只是描述视角反过来了。C 函数调用栈的时候,用「后进先出」更贴合程序运行的真实过程。
栈的定义标准术语就是 Last In First Out,LIFO,后进先出。