python学习-多线程并发

1.线程与进程

通俗解释:

对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread)。

总结:归纳起来,可以这样说.操作系统可以同时执行多个任务,每一个任务就是一个进程;进程可以同时执行多个任务,每一个任务就是一个线程。 

 

 2.单线程执行

3.多线程执行

4.守护线程

5.阻塞线程

6.并发测试框架

import threading

THREAD_NUM = 10
ONE_WORKER_NUM = 10
# 总并发数是这两个变量的乘积
def test():
    """测试代码"""

def working():
    global  ONE_WORKER_NUM
    for i in ONE_WORKER_NUM:
        test()

def t():
    global THREAD_NUM
    Threads = []
    for i in range(THREAD_NUM):
        t = threading.Thread(target=working,name="T"+str(i))
        t.setDaemon(True)
        Threads.append(t)
    for t in Threads:
        t.start()
    for t in Threads:
        t.join()


if __name__ == '__main__':
    t()

7.实例

测试场景:每个账号并发10次抽奖次数请求

预期结果:分别统计每个账号的抽奖次数是否与期望值一致

 

posted @ 2019-08-02 11:37  爱打盹的猫猫  阅读(178)  评论(0编辑  收藏  举报