多任务(多进程和多线程dome)

多进程dome
from multiprocessing import Process
from os import getpid
from random import randint
import time


def download_task(filen_neme):
    print('开始下载%s...' % filen_neme)
    time_to_download = randint(5, 10)
    time.sleep(time_to_download)
    print('%s下载完成!耗费了%d秒' % (filen_neme, time_to_download))


def main():
    start = time.time()
    p1 = Process(target=download_task, args=('亏钱指栏.tex',))
    p2 = Process(target=download_task, args=('战狼2.MP4',))
    p1.start()
    p2.start()
    p1.join()
    p2.join()
    end = time.time()
    print('总共耗费了%.2f秒' % (end - start))


if __name__ == '__main__':
    main()
多线程dome
from threading import Thread
from os import getpid
from random import randint
import time


def download_task(filen_neme):
    print('开始下载%s...' % filen_neme)
    time_to_download = randint(5, 10)
    time.sleep(time_to_download)
    print('%s下载完成!耗费了%d秒' % (filen_neme, time_to_download))


def main():
    start = time.time()
    t1 = Thread(target=download_task, args=('亏钱指栏.tex',))
    t2 = Thread(target=download_task, args=('战狼2.MP4',))
    t1.start()
    t2.start()
    t1.join()
    t2.join()
    end = time.time()
    print('总共耗费了%.2f秒' % (end - start))


if __name__ == '__main__':
    main()
多线程类实现dome
import time
from os import getpid
from random import randint
from threading import Thread


class DownloadTask(Thread):
    def __init__(self, file_name):
        super().__init__()
        self._filename = file_name

    def run(self):
        print('启动下载任务,进程号[%d]' % getpid())
        print('开始下载%s...' % self._filename)
        time_to_download = randint(5, 10)
        time.sleep(time_to_download)
        print('%s下载完成!耗费了%d秒' % (self._filename, time_to_download))


def main():
    start = time.time()
    p1 = DownloadTask('亏钱指栏.tex')
    p2 = DownloadTask('战狼2.MP4')
    p1.start()
    p2.start()
    p1.join()
    p2.join()
    end = time.time()
    print('总共耗费了%.2f秒' % (end - start))


if __name__ == '__main__':
    main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值