Python系统编程(多线程-互斥锁-死锁-thread-threading)
来源:互联网 发布:mac白屏很久 编辑:程序博客网 时间:2024/05/18 01:22
多任务的概念
Python实现多任务
- 主线程加sleep是因为主线程如果结束子线程都会结束
thread多线程注意点
- 主线程结束, 子线程也结束
- 子线程可以调用thread.exit_thread()来结束本线程和主线程
多线程threading
- threading创建的线程不需要主线程结束之后子线程也可以运行
len(threading.enumerate()) 检测有多少个线程
一个线程执行一个函数
多个线程执行同一个函数
后面线程数只有1是因为子线程都运行结束了所以只剩下一个主线程
threading注意点
- 用类进行封装
thread和threading的几个问题
线程的执行顺序
线程总结
多线程开发可能遇到的问题
线程同步
互斥锁
互斥锁同步
acquire() 有个参数默认为true表示上锁, 如果设置为false则无法上锁
运行结果
acquire(false)
上锁和解锁过程
互斥锁的好处和坏处
非共享数据不需要同步
只要是全局变量则线程是共享数据的
如果是函数内部变量那么各个线程的数据是互相独立的
运行结果
- 多线程对函数内局部变量的影响
第二行在第一行打印5秒钟之后才打印
死锁
光标一直在闪动, 卡主
阅读全文
0 0
- Python系统编程(多线程-互斥锁-死锁-thread-threading)
- Python多线程编程之thread和threading
- Python多线程:thread、threading、queue
- [python] 专题八.多线程编程之thread和threading
- [python] 专题八.多线程编程之thread和threading
- Python threading多线程编程
- Python:使用threading模块实现多线程编程三[threading.Thread类的重要函数]
- Python:使用threading模块实现多线程编程三[threading.Thread类的重要函数]
- python多线程模块thread,threading,Queue
- Python多线程thread与threading实现
- python多线程thread/threading的使用
- Python多线程thread与threading实现
- Python多线程thread与threading实现
- python threading模块/thread多线程(1)
- .NET多线程编程 - System.Threading.Thread类
- python多线程编程----threading模块
- Python 多线程编程threading模块
- Python:使用threading模块实现多线程编程五[死锁的形成]
- PAT (Advanced Level) Practise
- 文章标题
- Java并发编程:synchronized
- C语言-动态链表的创建遍历与插入
- 八皇后问题(回溯)
- Python系统编程(多线程-互斥锁-死锁-thread-threading)
- 4.3
- PAT (Advanced Level) Practise
- MyBatis之级联
- Log4j入门之001
- 文章标题
- 字段的数据类型
- PAT (Advanced Level) Practise
- C++ ~ Time类实例研究