zoukankan      html  css  js  c++  java
  • 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次抽奖次数请求

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

  • 相关阅读:
    apicloud入门学习笔记1:简单介绍
    QT入门学习笔记1:为什么要选QT及QT软件下载
    Altium Designer入门学习笔记1.软件安装与资料收集
    win 下安装mysql 服务
    几秒后跳转到新页面
    计算3天的日期
    alibaba json
    WebService和Rest Service
    count(*),count(1)和count(主键)的区别
    mybatis替换符号
  • 原文地址:https://www.cnblogs.com/wang-mengmeng/p/11287640.html
Copyright © 2011-2022 走看看