说到写代码,也算是一个业余的选手的,现在在写一个项目,中间遇到了一些问题,主要是异步的问题,所以翻书查看了部分的文章,现在进行一下总结吧。
一:首先明白一下多线程与多进程的关系吧。
1.1 进程:程序在我们写完后,是一个静态的状态,并没有运行,二进程就是程序的动态执行的过程,她是代码加载,执行到执行完毕的整个生命周期里
关键点:1一个N核的处理器最多同时处理N个进程,而我们说的操作系统同时处理多个进程的原因是CPU具有分时机制,它会给每个进程随机的分配时间进行处理,由于CPU速度快,所以有了“同时”的错觉。
2 另外我们要强调的是每个进程都有自己的内存空间
.3 进程的主要状态有三个,分别为就绪状态,执行状态,阻塞状态,三者的定义在这里没必要进行介绍,用文字描述一下三者的关系吧,程序Run后,进入了就绪状态,等待CPU 分配时间,得到时间后进入了执行阶段,时间片用完后返回到就绪状态,等待下一次的CPU分配时间。在执行状态时,如果遇到“I/O时间发生”,进程进入阻塞状态,事件结束之后,进程由阻塞状态编程就绪状态。读者可以自己画一下联系图。
1.2 线程:线程在进程的基础岸上的进一步划分,一个进程至少有一个线程,线程是进程的一个执行路径,共享一个内存空间,线程可以自由切换,并发执行。
线程与进行区别:我们编写程序的时候都是以线程为基础进行的编写,打个必须的,你边吃饭,边在网上聊天,这里,吃饭个聊天就是两个进程,每个进程都有自己的内存空间(桌子,电脑),CPU就是你自己(单核),你自己只能吃饭或者聊天,自己分配时间。线程的,就是你可能同时和很多人一起聊天,这就是不同的线程。
关于多线程与异步的部分问题的总结
最新推荐文章于 2024-07-19 21:21:05 发布