• flask --- 04 . 偏函数, 线程安全,栈堆,


    一.偏函数(partial)

      ①第一种

      结果为:

      ② 第二种

    二.线程安全

        将空间转换成时间

      问题: 1秒钟打印所有结果

    threading.current_thread().ident  :线程ID

      ①不安全示例

    import time
    from threading import Thread
    import threading
    
    
    class Foo(object):
        pass
    
    foo = Foo()
    
    def add(i):
        foo.num = i
        time.sleep(1)
        print(foo.num,i,threading.current_thread().ident,foo)
    for i in range(20): task = Thread(target=add,args=(i,)) task.start()

      结果为:

       ②线程安全 (local)

    import time
    from threading import Thread
    import threading
    
    
    
    from threading import local
    
    class Foo(local):
        pass
    
    foo = Foo()
    
    def add(i):
        foo.num = i
        time.sleep(1)
        print(foo.num,i,threading.current_thread().ident,foo)
    
    for i in range(20):
        task = Thread(target=add,args=(i,))
        task.start()

       结果为:

     三.堆栈(简化版)

    堆:
    先进先出,后进后出
    
    栈:
    先进后出,后进先出

      栈示例:

    import time
    
    # stack = [] # [request1,session1],[r2,s2],[r3,s3]
    
    from threading import local,Thread
    import threading
    
    class MyLocalStack(local):
        stack = {}
        pass
    
    
    mls = MyLocalStack()
    
    def ts(i):
        a = threading.current_thread().ident  #线程ID
        mls.stack[a] = [f"r{i+1}",f"s{i+1}"]  # 存入
        time.sleep(1)
        print(mls.stack[a].pop(),mls.stack[a].pop(),a)
    
        # time.sleep(1)
        mls.stack.pop(a)    #取出
        print(mls.stack , a)
    
    for i in range(5):
        task = Thread(target=ts,args=(i,))
        task.start()

     四. 面向对象的特殊成员

    __call__  :   对象( )  时,会自动执行

    __setattr__ :   对象.key值 = value值   时自动执行
    
    
    __getattr__  :   对象. key值  时自动执行

      结果为:

  • 相关阅读:
    【笔记】正则表达式
    领养信息详情
    CCF201503-3(python)
    RBZ general course notes
    接入腾讯 验证码
    数据分析工具GrowingIO的使用
    js中的位运算
    es6中类中的静态属性、实例属性、静态方法、实例方法的个人理解
    分析 腾讯的 实时音视频web端demo代码
    摸索在web端使用腾讯云的实时音视频;跑通web端demo
  • 原文地址:https://www.cnblogs.com/sc-1067178406/p/10697029.html
Copyright © 2020-2023  润新知