python中线程知识点
来源:互联网 发布:信长野望长野业正数据 编辑:程序博客网 时间:2024/06/05 19:26
一 概念:
- 进程是系统进行资源分配的基本单位,进程之间相互独立。线程是进程划分出来可以单独调度运行的一个实例,是操作系统调度的基本单位,线程是比进程更小的能够独立运行的基本单位,线程是和同一个进程的其他线程共享进程所拥有的资源。
- 进程/线程区别: 1.一个程序至少有一个进程,一个进程至少有一个线程。2.线程资源少于进程,使得多线程程序并发性高 3.进程在执行中拥有独立的内存单元,而多线程共享内存,极大的提供了程序运行 效率4.线程不能够独立执行,必须依存在进程中。
- 进程/线程优缺点: 线程和进程在使用上各有优缺点,线程执行开销小,但不利于资源的管理和保护,进程相反。
- 主线程结束,不会引起整个进程结束,也不会导致进程 中其它线程结束。
二多线程-threading
- threading.current_thread() # 获得当前线程对象---.name #当前线程对象名字。
- t = Thread(target=func) # 创建线程对象。t.start()启动进程
- t.name # 获得当前线程名字。
- t.join() #阻塞的等待线程结束---------主线程申请资源,分配任务,回收资源。主线程负责等待t线程结束。
- python中,主线程结束并不会造成其它子线程结束。主线程隐式的等待子线程结束。 #threading.enumrate() 枚举出当前存活线程。
- Thread继承类,定义__init__(self),和run(self), self.name是不变的,不是继承类的值。启动线程t.start()。
- 多个线程的运行顺序是不确定的。由操作系统的调度算法决定的。
- 多个线程共享全局变量。创建线程对象通过传参的方式传递全局变量,值不会变。。多线程竞争的访问全局变量的问题-----利用互斥锁解决。
- 锁的机制:将使用的公共资源需要获得锁,没有获得锁的线程,等待其它资源解锁。获得锁的对象可以操作资源。
- 互斥:对于公共资源一次一个的操作。
- mutex = threading.Lock() #创建互斥锁----------是一个全局变量
- mutex.acquire()#申请锁 mutex.release()释放锁
阅读全文
0 0
- python中线程知识点
- python中模块知识点
- Python中零碎知识点记录
- NIO2中异步通道、线程池知识点
- java中线程相关知识点大总结
- OS中关于进程线程的知识点
- Java中线程的相关知识点汇总
- python中线程进程
- 线程知识点
- 线程知识点
- 线程知识点
- Python学习中遇到的小知识点
- python中数字的几个小知识点
- python中函数的几个小知识点
- Python 学习中,特别知识点记录
- python中openpyxl模块学习知识点(一)
- python中进程相关知识点。很强大
- 每天一个python知识点(更新中)
- python中进程相关知识点。很强大
- 最长公共子序列
- 2017年6月3日
- 安装Windows 10 Subsystem for Linux
- Android 开发中应该知道的一些小技巧
- python中线程知识点
- React-(if)条件渲染-condition
- 24点游戏
- jaavscript对象
- 关于HTML的几个技巧
- puthon中同步与互斥知识
- window下cmd命令窗口常用快捷键
- PHP学习笔记11:类和对象
- Leetcode(3)-找最大子串的长度