多进程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()