菜鸟教程 python 线程_多任务-python实现-Thread的基本使用(2.1.1)

本文介绍了多任务的概念,并通过Python的thread和threading模块展示了线程的使用。示例代码包括创建并启动子线程,监控线程数量,以及使用_thread模块进行线程编程,强调了线程在IO密集型任务中的优势。
摘要由CSDN通过智能技术生成

@

1.多任务的概念

“多任务工作”指的是当前很普遍的工作状态,一个人同时处理多件事情,比如以下这个常见的画面:写一会报告,刷一下网页,查一下资料,收一下邮件,回去做一下数据,点开微信回应一下,再回去贴图表……诸如此类。今天这个时代,专注在一件事情上,已经近乎不可能了。每个人手上都有一大堆任务,同时开着Word、Excel、PPT,微信和QQ总是同时闪动好几个头像……似乎,不能同时处理这些事情,就是能力不够。

2.线程

python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的使用

threding的使用

import threading

import time

#子线程

def saySorry():

print("你好")

time.sleep(1)

#主线程

if __name__ == '__main__':

for i in range(6):

t=threading.Thread(target=saySorry())

t.start()

查看当前有多少线程正在运行

import threading

import time

#子线程

def thread1():

for i in range(5):

print("你好 %d"% i )

time.sleep(1)

def thread2():

for i in range(10):

print("你好__%d"% i )

time.sleep(1)

#主线程

if __name__ == '__main__':

t1 = threading.Thread(target=thread1())

t2 = threading.Thread(target=thread2())

t1.start()

t2.start()

while True:

length = len(threading.enumerate())

print("当前的therad数目为%d" % length)

if length<= 1:

break

time.sleep(0.5)

菜鸟教程thread模块

#!/usr/bin/python3

import _thread

import time

# 为线程定义一个函数

def print_time( threadName, delay):

count = 0

while count < 5:

time.sleep(delay)

count += 1

print ("%s: %s" % ( threadName, time.ctime(time.time()) ))

# 创建两个线程

try:

_thread.start_new_thread( print_time, ("Thread-1", 2, ) )

_thread.start_new_thread( print_time, ("Thread-2", 4, ) )

except:

print ("Error: 无法启动线程")

while 1:

pass

注意

相当于使用了反射的方法,在后面加入要传入的参数,最后个参数后面加,

子线程依附着主线程,所以在菜鸟的教程中加了个死循环的主线程

sleep为io操作,在io密集的时候使用多线程有好处,计算密集时不能节约时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值