首页 > 代码库 > 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。