第二十一 python性能与多并发

1.多任务  同时运行多个任务(同时登录qq音乐,看视频,游览网页)

2.并发   (任务数多余cpu核数,cpu快速切换,多个任务对应一个cpu内核)  六个人同时问老师问题,老师一个个回答

3.并行    (一个任务对应一个cpu内核)六个学生问六个老师 老师相当于cpu,老师同时回答

4. 串行  先执行任务A,在执行任务B

5.同步    运行完一个任务在做另一个任务

6.异步    多个任务同时运行互不影响

 

 线程:打开请求是一个进程,每个聊天窗口是一个线程 threading

1.创建线程   threading.Thread(target=func)    参数target为指定运行的函数

run() 用以表示线程活动的方法

start()  启动线程活动

join(time) 设置主线程在等待time秒后再向下执行   设置时间可以叠加

jsAlive()返回线程是否活动

getName() 返回线程名

setName() 设置线程名

举例--两个线程,线程一运行和线程二同时运行

import time
import threading


def func():
for i in range(5):
print(2)
time.sleep(1)


def func1():
for i in range(10):
print(3)
time.sleep(1)


def main():
t1 = threading.Thread(target=func)
t2 = threading.Thread(target=func1)
s = time.time()
t1.start()
t2.start()

print(threading.enumerate()) # 活动线程
    print(threading.active_count())  # 活动线程的个数
    t1.join()   # 线程不运行结束,不会运行下面的代码
t2.join()
e = time.time()
print(5555)
print(e-s)


if __name__ == '__main__':
main()

 

posted @ 2020-10-09 19:29  测试人员-凯  阅读(179)  评论(0编辑  收藏  举报