一、程序与进程:
1、概念: 
程序并不能单独运行,必须系统为它分配资源,装载到内存中才能运行,而这执行的过程就是进程
程序是指令的集合,是进程运行的静态描述文件
进程是程序的一次执行活动,是动态的过程
2、作用:
进程就是为了在CPU上实现多道编程而提出的
将多个程序同时加载到内存中,在操作系统的调度下,实现并发执行,大大的提高了COU的利用率
二、线程:
1、概念:
线程是操作系统能够进行运算调度的最小单位
2、作用:
线程是进程的实际运作单位,一个进程中可以并发多个线程,每条线程并行执行不同的任务
三、threading模块
直接调用模式:
import threading
def work(name):
print("%s at work" %name)
t1 = threading.Thread(target=work,args=('cai',))
t2 = threading.Thread(target=work,args=('liu',))
t1.start()    #启动线程t1
t2.start()
print(t1.getName())        #获取线程名
print(t2.getName())
继承式调用:
import threading
class MyThread(threading.Thread):
def __init__(self,num):
threading.Thread.__init__(self)
self.num = num
def run(self):
print("number:%s" %self.num)
t1 = MyThread(1)
t2 = MyThread(2)
t1.start()
t2.start()
四、线程的调用方法
m = threading.Thread(target=main,args=[])
m.setDaemon(true)    #将main线程设置为Daemon线程,它作为主线程的守护线程,当主线程退出时,m线程也会退出,由m启动的其它子线程也会同时退出,不管是否执行完任务。
m.join()   等待线程执行完毕,再执行下一个线程
五、线程锁(互斥锁Mutex)
num = 100     #设置一个变量
lock = threading.Lock        #生成全局锁
lock.acquire()            #修改数据前加锁
num -=1         #加锁后同一时间只能允许一个线程修改数据
local.release()    #修改完数据后释放锁
六、queue队列
class queue.Queue(maxsize=0)        #先入先出
class queue.LifoQueue(maxsize=0)        #后入先出
class queue.PriorityQueue(maxsize-0)        #存储数据时可设置优先级的队列

转载于:https://www.cnblogs.com/caibaofei/p/9198946.html

十六、python开发之进程与线程相关推荐

  1. python数据结构推荐书-腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗?...

    原标题:腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗? 稍微关心编程语言的使用趋势的人都知道,最近几年,国内最火的两种语言非 Python 与 Go 莫属,于是,隔三差五就会有人问:这两 ...

  2. 通信系统设计与python的书_腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗?...

    原标题:腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗? 稍微关心编程语言的使用趋势的人都知道,最近几年,国内最火的两种语言非 Python 与 Go 莫属,于是,隔三差五就会有人问:这两 ...

  3. 怎么更进一步学python_【百尺竿头,更进一步学Python】Python进阶课程——进程,线程和协程的区别...

    本文带来各类奇怪的IT百科知识. [百尺竿头,更进一步学Python]Python进阶课程--进程:线程和协程的区别 现在多进程多线程已经是老生常谈了:协程也在最近几年流行起来.今天我们本文主要介绍进 ...

  4. 二十六. Python基础(26)--类的内置特殊属性和方法

    二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...

  5. 常用的十大Python开发工具

    据权威机构统计,Python人才需求量每日高达5000+,但目前市场上会 Python 的程序员少之又少, 竞争小,很容易快速高薪就业.可能你并不太了解常用的十大Python开发工具都有哪些,现在告诉 ...

  6. python线程与进程视频教程_[PYTHON系列教程]→进程 vs. 线程

    我们介绍了多进程和多线程,这是实现多任务最常用的两种方式.现在,我们来讨论一下这两种方式的优缺点.首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Work ...

  7. Python基础:进程、线程、协程(2)

    进程与线程 什么是进程(process)? An executing instance of a program is called a process. Each process provides ...

  8. Python中的进程和线程(20)

    进程和线程 进程 创建多进程 进程和全局变量 传递参数和进程号 进程的状态 进程之间通信 put() get()方法 生产者和消费者 进程子类化 生产者和消费者子类化 进程池 线程 线程子类化 共享全 ...

  9. 十大python开发软件-必看 | 2020年,Python十大应用领域介绍!

    原标题:必看 | 2020年,Python十大应用领域介绍! python作为一门当下极其火爆的编程语言,得到世界范围内无数编程爱好者和开发者喜欢并不是偶然的,除了要比其他编程语言更容易入门,pyth ...

最新文章

  1. android sqlite 自增长序列号归0
  2. 关于JSON.parse()方法的使用说明
  3. 当计算机从硬盘读取数据后 将数据,当计算机从硬盘读取数据后,将数据暂时储存在于()...
  4. leetcode96. 不同的二叉搜索树 动归vs数学?
  5. 平时喜欢使用的软件总结 欲善其事,必先利其器
  6. 玩转lib-notify (转自PT牛的博客)
  7. Android属性动画赏析,Android源码分析—属性动画的工作原理
  8. 微信分享功能问题-描述内容换行,导致js加载失败
  9. Java dom序列化字符串,java – 如何在序列化之前从DOM中剥离仅空白的文本节点?...
  10. (debian9.6上演示)linux压缩解压命令
  11. 智能分析的所见即所得——基于Lambda架构的实时数据引擎
  12. 考研学java还是c语言,想学习Java,应该选择就业还是考研?
  13. 如何将电脑硬盘模式修改为ahci模式,并解决切换后的蓝屏问题
  14. 数据分析复盘——相关理论之《增长黑客》
  15. 2020年起重机械指挥模拟试题及起重机械指挥模拟考试题
  16. 获取一个新的日期,它的值为指定日期当年的最后一天
  17. 线程共享地址空间的问题
  18. LVI-SAM imageProjection.cpp 代码阅读 附录
  19. springboot+vue计算机旅游管理系统 springboot+vue旅游网
  20. 计算机有60进制吗,60进制介绍

热门文章

  1. 【Machine learning】余弦相似度
  2. SQL获取最新版本Version记录
  3. c语言函数的可选性自变量
  4. JavaScript为unicode编码转换为中文
  5. 汉语科技术语识别实验结果
  6. 孩子,来生我们一起走
  7. ASP.NET 例程完全代码版(3)——随意创建图形信息
  8. 如何处理Eclipse错误消息 The declared package does not match the expected package
  9. 时隔一个月,社区团购平台“邻邻壹”再获千万美金 Pre-A 轮融资
  10. kangle代理服务器限制客户端使用时间