Python进阶

Python模块·Threading线程

2023-01-07  本文已影响0人  技术老男孩

一、概念:

分类 关键字 / 函数 / 方法 说明
模块 import threading 导入模块
threading.Thread(target=func) 创建线程,返回线程对象
threading.Thread(target=func,agrs=iterable 创建线程,iterable可序列化,返回线程对象
对象 t=threading.Thread(target=func) 创建线程对象
t.start() 启动工作线程

二、使用示例:

import threading
import time
# 创建搬砖函数,带传参
def bz(count):
    print("start....", count)
    time.sleep(3)
    print("end....")
    time.sleep(3)

if __name__ == '__main__':
    for i in range(5):
        # 创建线程
        t = threading.Thread(target=bz, args=(i,))
       # 启动线程
        t.start()

三、多线程练习:

需求:

import subprocess
import threading
# 函数
def ping(ip):
    sub = subprocess.run(f"ping -c 2 {ip} &> /dev/null", shell=True)
    print(ip, "up" if sub.returncode == 0 else "down")

if __name__ == '__main__':
    ip_list = ["127.0.0.1", "192.168.99.100", "192.168.88.10", "192.168.88.210",
               "192.168.88.100", "192.168.88.5", "192.168.88.15",
               "www.baidu.com", "www.yahu.com", "www.douyin.com",
               "www.qq.com", "www.163.com", "www.wangyi.com"]
    for ip in ip_list:
        t = threading.Thread(target=ping, args=(ip,))
        t.start()

四、补充:进程&进程的概念

上一篇下一篇

猜你喜欢

热点阅读