首页 > 代码库 > python

python

在python中存在着多线程、多进程等

今天写一点关于Python多线程的东西


咱们在学习Linux中Apache的时候都有接触过线程、进程这里就不多解释了

shell中使用多线程(nohup命令)


首先写Python多【线 进】程的用途:


Python线程多用与I/O密集,下载,图像,音频,保持等情况。

Python进程多用于大量消耗Cpu的场所,数据是分开的,同步简单;占用内存多,切换复杂,cpu利用率;创建销毁、切换复杂、速度慢;进程之间不会互相影响。


进程可以直接查看,线程不可以,因为线程依附在进程中所以要使用pstree -p 进程号来查看

每个进程自带一个线程(本身)


线程基本原理:

1) cpu是以时间片的方式为进程分配cpu处理的时间的,当一个进程以同步的方式去完成几件的事情时,此进程必须完成了第一件事情之后再做第二件事,在单线程的工作模式下会堵塞,等待cpu处理完成之后在处理其他的事情,因此cpu的使用率会比较低。

2)为了提高cpu的使用率,采用多线程的方式去同时完成几件事情而互补干扰,可以在相同时间点去做不同的事情,大大提高了cpu的使用率,可以避免进程堵塞。

3)多线程中线程数不要太多,因为线程直接切换是需要时间的,在我们编码中就可以看得出来多线程中处理的线程函数,都是静态函数,也就是属于一个类的静态函数,因此多个线程在做同一件事情的话,优势不明显反而会大量消耗cpu。这种模式不可取。


以上来自Python小白的个人看法;


本文出自 “linux学习成长过程” 博客,谢绝转载!

python