python的线程

yawei 2020-05-30

"""
python的线程和java的线程是有差别的,
python的进程更像java的线程
线程状态:创建 -> 就绪或运行或阻塞 -> 结束

优点:
在一些等待的任务上有优势,如用户输入、文件读写、网络收发数据等。在这些情况下可以释放珍贵的内存cpu资源

常用方法:
Thread 可以被子类继承,或者直接使用

注意问题:
1.多个线程是轮流执行的,并非多个CPU可以同时执行不同进程
2.run()只是普通运行,start()才是用线程运行

"""
import time
from threading import Thread


def download(n):
    count = 0
    while True:
        count += 1
        print("正在下载第{}个文件".format(count))
        time.sleep(1)
        if count == n:
            break

def listen_music():
    musics = [‘音乐1‘, ‘音乐2‘, ‘音乐3‘, ‘音乐4‘, ‘音乐5‘, ‘音乐6‘, ‘音乐7‘, ‘音乐8‘]
    for music in musics:
        print("正在听{}".format(music))
        time.sleep(1.2)


if __name__ == ‘__main__‘:
    t = Thread(target=download, name="download", args=(5,))
    t1 = Thread(target=listen_music, name="listen_music")
    t.start()
    t1.start()

    t.join()
    print("over")

相关推荐