python自学-class22(up)-python线程基础学习

python线程基础学习

1. 单线程
2. 多线程并发
3. 传递参数
4. 主线程与小弟线程
5. 多线程速度
6. 线程冲突
7. 基于类实现多线程
8. 类线程的顺序执行风格
9. 类线程的乱序执行风格
10. 基于类解决线程冲突(撞车问题)
11. 死锁
12. RLOCK解决单线程死锁
13. 创建多线程的方式
14. 信号量限制线程数量
15. 栅栏锁定匹配线程数量
*

+++++++++++++++++++++++++++++++++++++++++
1.单线程:
单线程即什么活都是一个人干,效率较低,在之前的学习中,程序全都是单线程运行的。

import win32api  #引用系统函数
#0代表系统,  "你的账户很危险"代表内容,  "来自支付宝的问候"代表标题,   0-4代表对话类型
win32api.MessageBox(0,"你的账户很危险","来自支付宝的问候",2)

2.多线程并发:
多线程即多了人手同时工作,解决一件事情速度加快,但需要主要的是,并发可能会导致乱序;

import win32api   #引用系统函数
import _thread    #多线程
def show():
    win32api.MessageBox(0, "你的账户很危险", "来自支付宝的问候", 2)
#顺序执行
#for i in range(5):
#   show()
for i in range(5):
    _thread.start_new_thread(show,())   #()元组,用于传递参数
show()

3.使用多线程时传递参数:

import win32api   #引用系统函数
import _thread    #多线程
def show(i):
    win32api.MessageBox(0, "你的账户很危险"+str(i), "来自支付宝的问候", 2)
#顺序执行
#for i in range(5):
#   show()
for i in range(5):
    _thread.start_new_thread(show,(i,))   #()元组,用于传递参数
show(10)

运行效果:
在这里插入图片描述
4.主线程与小弟线程:
主线程停止即所有小弟线程不再干活,而小弟线程停止不会使主线程崩溃;这里体现的方式是,在关停所有小窗口(小弟线程)后,程序仍然在运行;

import win32api   #引用系统函数
import _thread    #多线程
def show(i):
    win32api.MessageBox(0, "你的账户很危险"+str(i), "来自支付宝的问候", 2)
#顺序执行
#for i in range(5):
#   show()
#主线程,主线程停止后小弟线程不显示
for i in range(5):
    _thread.start_new_thread(show,(i,))   #()元组,用于传递参数
#阻塞,让主线程不死
while True:
    pass

5.多线程的速度
多线程由于并发执行,一般而言速度会比单线程执行快许多,测试代码如下:

import _thread
import<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值