首页 > 技术文章 > 高性能,高并发理解 第一篇

li-yan-long 2021-03-03 21:30 原文

程序在计算机上的运行流程:定义函数(可执行程序) -> 编译器编译成机器指令 -> 保存到磁盘(可执行程序) -> 由磁盘上的可执行程序加载到内存/调用地址存入pc寄存器  -> cpu会从Pc寄存器上取出内存中程序的地址,然后依次执行。一般是逐行执行,PC寄存器每次“索引自增1”,当cpu需要跳转执行时会动态维护pc寄存器中“索引”的位置。 

1.进程:

  -程序从磁盘上加载到内存中,才能运行。那程序加载到内存中后内存要记录这个程序的大小,长度,运行状态,以及cpu随时分配的资源等等,这就叫进程。

  -所谓进程无非就是内存中的一段区域,这段区域中保存了CPU执行的机器指令以及函数运行时的堆栈信息

2.main函数:

  -cpu执行的第一条程序的函数名字。

3.操作系统:

  -在内存中找到一块合适大小的区域将要执行的程序装进去。

  -找到此程序的main函数,并将程序的地址写入pc寄存器中,然后在内存中让cpu调用寄存器中的地址去执行指令。

4.线程:

  -一个进程中若只有一个函数在运行的话那么必定是mian函数,如果有多条程序在运行的话那么其他非main函数的哪行执行流就叫线程。

5线程池:

  生产者 -> 消费者

  生产者 -> 将任务丢给任务队列 -> 此时会唤醒线程池中的某条线程去消费队列中的任务

 

推荐阅读