一.偏函数(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()
print(foo.num,i,threading.current_thread().ident,foo) for i in range():
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()
print(foo.num,i,threading.current_thread().ident,foo) for i in range():
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()
print(mls.stack[a].pop(),mls.stack[a].pop(),a) # time.sleep()
mls.stack.pop(a)    #取出
print(mls.stack , a) for i in range():
task = Thread(target=ts,args=(i,))
task.start()

四. 面向对象的特殊成员

__call__  :   对象( )  时,会自动执行
__setattr__ :   对象.key值 = value值   时自动执行

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

  结果为:

flask --- 04 . 偏函数, 线程安全,栈堆,的更多相关文章

  1. 4.1 python类的特殊成员,偏函数,线程安全,栈,flask上下文

    目录 一. Python 类的特殊成员(部分) 二. Python偏函数 1. 描述 2. 实例一: 取余函数 3. 实例二: 求三个数的和 三. 线程安全 1. 实例一: 无线程,消耗时间过长 2. ...

  2. 栈 堆 stack heap 堆内存 栈内存 内存分配中的堆和栈 掌握堆内存的权柄就是返回的指针 栈是面向线程的而堆是面向进程的。 new/delete and malloc/ free 指针与内存模型

    小结: 1.栈内存 为什么快? Due to this nature, the process of storing and retrieving data from the stack is ver ...

  3. 学习pthreads,管理线程的栈

    进程的地址空间分成代码段,静态数据段,堆和栈段.线程栈的位置和大小是从它所属的进程的栈中切分出来的.每个栈必须足够大,以容纳所有对等线程的函数的执行以及它们将会调用的例程链.或许你会问为什么要进行线程 ...

  4. 栈 堆 stack heap

    点餐 做菜 Stack and Heap 堆和栈的区别 - Grandyang - 博客园 https://www.cnblogs.com/grandyang/p/4933011.html 在和计算机 ...

  5. flask 高级编程 上下文与栈(转)

    转: https://www.cnblogs.com/wangmingtao/p/9372611.html 22.上下文与出入栈 22.1 请求过程 请求过来,flask会实例化一个Request C ...

  6. flask之分析线程和协程

    flask之分析线程和协程 01 思考:每个请求之间的关系 我们每一个请求进来的时候都开一个进程肯定不合理,那么如果每一个请求进来都是串行的,那么根本实现不了并发,所以我们假定每一个请求进来使用的是线 ...

  7. Flask 之分析线程和协程

    目录 flask之分析线程和协程 01 思考:每个请求之间的关系 02 threading.local 03 通过字典自定义threading.local 04 通过setattr和getattr实现 ...

  8. Java内存分析--栈--堆

    Java内存分析--栈--堆 JVM的内存分析: 1.栈内存 1.连续的存储空间,遵循后进先出的原则. 2.每个线程包含一个栈区,栈区只保存基础数据类型的对象和自定义对象的引用. 3.每个栈中的数据都 ...

  9. linux查看修改线程默认栈空间大小(ulimit -s)

    linux查看修改线程默认栈空间大小 ulimit -s 1.通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下 为10240 即10M 2.通过命令 ulimit -s 设置大 ...

随机推荐

  1. Node bak

    process.on('uncaughtException', function (err) { logger.info('Local Server Exception: ') logger.info ...

  2. java源码中的注解

    spring框架源码中充满了注解,如果对注解不是很了解,阅读源码就寸步难行,下面我们来看看annotation.https://blog.csdn.net/briblue/article/detail ...

  3. python2.7环境下的flask项目导入模块失败解决办法

    如下一个flask项目的目录: 这个flask项目在python3.6环境下可以正常启动,但是在python2.7环境下如下报错提示: 提醒模块找不到.如下解决方法: 只需要在views目录里面加一个 ...

  4. poj 3525

    多边形内最大半径圆. 哇没有枉费了我自闭了这么些天,大概五天前我看到这种题可能毫无思路抓耳挠腮举手投降什么的,现在已经能1A了哇. 还是先玩一会计算几何,刷个几百道 嗯这个半平面交+二分就阔以解决.虽 ...

  5. memoization提升递归效率

    从开通博客到目前为止,也有一年了,刚开始的写了一篇工作的感想,然后就一直不知道写什么,看园子里的文章实在是很专业,怕自己写的太水.但是,写一些东西总归是好的,于是就当作是记笔记一样,开始写第一篇技术类 ...

  6. FTPClient工具类

    package com.vcredit.ddcash.server.commons.net; import com.vcredit.ddcash.server.commons.model.FtpPar ...

  7. 测量应用程序cass和cad的使用感受

    作为一名测绘工程专业的学生,在现在的电子信息时代是会经常与测量绘图有关的软件打交道的,如今我也算是接触绘图软件一年多了并且在上学期学校还组织我们大家一起进行了几周CAD集训,而且在校园和井陉的暑期实训 ...

  8. 个人小爱好:Operating System: three easy pieces第6章第5节——总结

    总结 我们讨论了实现CPU虚拟化的部分底层机制,及我们统称为直接执行(direct execution)的一组技术.基本的思想十分简单明了:直接在CPU上运行你想运行的代码,但是你先得确保将硬件设置好 ...

  9. ubuntu下设置mysql自启

  10. oracle&mysql配置

    ===========pom.xml=========== <dependency> <groupId>com.oracle.jdbc</groupId> < ...