基本线程调用
from time import sleep
def sing():
print('sing:',threading.current_thread()) # 查看当前线程
for i in range(5):
print('我在唱歌...')
sleep(0.5)
def dance():
print('dance:',threading.current_thread()) # 查看当前线程
for i in range(5):
print('我在跳舞...')
sleep(0.5)
if __name__=='__main__':
print(threading.current_thread()) # 查看当前线程
sing()
dance()
创建子线程
# 创建子线程
import threading
from time import sleep
def sing():
print('sing:',threading.current_thread())
for i in range(5):
print('我在唱歌...')
sleep(0.5)
def dance():
print('dance:',threading.current_thread())
for i in range(5):
print('我在跳舞...')
sleep(0.5)
if __name__=='__main__':
# 打印当前线程
print('main',threading.current_thread())
# 查看线程列表
print('第一次查看线程列表:',threading.enumerate())
# 创建线程
sing_thread=threading.Thread(target=sing,name='sing_thread')
dance_thread=threading.Thread(target=dance,name='dance_thread')
print('第二次查看线程列表:', threading.enumerate())
# 启动线程
sing_thread.start()
dance_thread.start()
print('第三次查看线程列表:', threading.enumerate())
线程执行任务传参
# 创建子线程
import threading
from time import sleep
def sing(num):
for i in range(num):
print('我在唱歌...')
sleep(0.1)
def dance(num):
for i in range(num):
print('我在跳舞...')
sleep(0.1)
if __name__=='__main__':
# 创建线程
sing_thread=threading.Thread(target=sing,name='sing_thread',args=(3,))
dance_thread=threading.Thread(target=dance,name='dance_thread',args=(4,))
# 启动线程
sing_thread.start()
dance_thread.start()
以字典方式进行传参
# 创建子线程
import threading
from time import sleep
def sing(num):
for i in range(num):
print('我在唱歌...')
sleep(0.1)
def dance(num):
for i in range(num):
print('我在跳舞...')
sleep(0.1)
# 显示学生信息
def show_student_info(name,age,sex):
print(name,age,sex)
if __name__=='__main__':
# 创建线程
sing_thread=threading.Thread(target=sing,name='sing_thread',args=(3,))
dance_thread=threading.Thread(target=dance,name='dance_thread',args=(4,))
# 启动线程
sing_thread.start()
dance_thread.start()
# 以字典形式传参
show_student_info=threading.Thread(target=show_student_info, name='show_student_info',kwargs={'name':'义薄云天','sex':'男','age':'18'})
show_student_info.start()
线程实例
from selenium import webdriver
from time import sleep
from threading import Thread
def TestBaiduSearch(browser,text):
if browser=='ie':
driver=webdriver.Ie()
elif browser=='chrome':
driver=webdriver.Chrome()
elif browser=='firefox':
driver=webdriver.Firefox()
driver.get('http://www.baidu.com')
sleep(1)
driver.find_element_by_id('kw').send_keys(text)
sleep(1)
driver.find_element_by_id('su').click()
sleep(3)
driver.quit()
if __name__=='__main__':
data={'chrome':'selenium','ie':'python','firefox':'appium'}
threads=[]
for browser,text in data.items():
t=Thread(target=TestBaiduSearch,args=(browser,text))
threads.append(t)
print(threads)
for thr in threads:
print(thr)
thr.start()