python 多线程threading

python多线程threading.Thread实现:

# 假设这是网络程序,请求数据
def request_data(num):
    time.sleep(num)    # 模拟网络操作


# 单线程任务
def main_single_thread():
    for i in range(100):
        request_data()


def main_multi_threads():            # 多线程程序
    thread_list = []
    for i in range(2):
        t = threading.Thread(target=request_data, args=(i,))
        t.start()
        thread_list.append(t)
    for i in thread_list:   # 循环 join()方法可以让主线程等待所有的线程都执行完毕
        i.join()


if __name__ == '__main__':
    # 单线程的时间计算
    # start_time = time.time()
    # main_single_thread()
    # end_time = time.time()
    # print('单线程耗时:{:.4f}s'.format(end_time - start_time))

    # 多线程的时间计算
    start_time = time.time()
    main_multi_threads()
    end_time = time.time()
    print('多线程耗时:{:.4f}s'.format(end_time - start_time))

threading.Thread(target=function, args=(参数,))
第一个参数target是函数名,第二个参数args是一个元组,如果只传递一个值,就只需要i, 如果需要传递多个参数,那么还可以继续传递下去其他的参数。
注:其中的逗号不能少,少了就不是元组了,就会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值