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()
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 . 偏函数, 线程安全,栈堆,的更多相关文章
- 4.1 python类的特殊成员,偏函数,线程安全,栈,flask上下文
目录 一. Python 类的特殊成员(部分) 二. Python偏函数 1. 描述 2. 实例一: 取余函数 3. 实例二: 求三个数的和 三. 线程安全 1. 实例一: 无线程,消耗时间过长 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 ...
- 学习pthreads,管理线程的栈
进程的地址空间分成代码段,静态数据段,堆和栈段.线程栈的位置和大小是从它所属的进程的栈中切分出来的.每个栈必须足够大,以容纳所有对等线程的函数的执行以及它们将会调用的例程链.或许你会问为什么要进行线程 ...
- 栈 堆 stack heap
点餐 做菜 Stack and Heap 堆和栈的区别 - Grandyang - 博客园 https://www.cnblogs.com/grandyang/p/4933011.html 在和计算机 ...
- flask 高级编程 上下文与栈(转)
转: https://www.cnblogs.com/wangmingtao/p/9372611.html 22.上下文与出入栈 22.1 请求过程 请求过来,flask会实例化一个Request C ...
- flask之分析线程和协程
flask之分析线程和协程 01 思考:每个请求之间的关系 我们每一个请求进来的时候都开一个进程肯定不合理,那么如果每一个请求进来都是串行的,那么根本实现不了并发,所以我们假定每一个请求进来使用的是线 ...
- Flask 之分析线程和协程
目录 flask之分析线程和协程 01 思考:每个请求之间的关系 02 threading.local 03 通过字典自定义threading.local 04 通过setattr和getattr实现 ...
- Java内存分析--栈--堆
Java内存分析--栈--堆 JVM的内存分析: 1.栈内存 1.连续的存储空间,遵循后进先出的原则. 2.每个线程包含一个栈区,栈区只保存基础数据类型的对象和自定义对象的引用. 3.每个栈中的数据都 ...
- linux查看修改线程默认栈空间大小(ulimit -s)
linux查看修改线程默认栈空间大小 ulimit -s 1.通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下 为10240 即10M 2.通过命令 ulimit -s 设置大 ...
随机推荐
- Mac - 如何安全地还原 Mac 的默认字体
为清理mac系统内存,下载了daisydisk for mac 破解版,然后发现mac所有的字体都被清理了,所有汉子都变成了问号❓和方框.... 在通常情况下,遇到字体显示不正常,甚至乱码时,重置总是 ...
- MySQL查询表与表字段的信息
环境: Mysql数据库 库名:db_name 表名: table_name1 table_name2 查询一个里面所有表的信息: use information_scheam; select * f ...
- poj 2420
太虚假了. 我为什么要手贱点开submission? 这道题两天之前被一个学弟A了. ? 我退役了. 其实就是爬山吧..好像有的题解还分方向什么的完全没必要吧. #include <iostre ...
- vue-cli+webpack+router+vuex---之vuex使用
有信心的可以去看官方的文档 vue 的官方文档有个显著的特点---代码粘贴不全 Vue中文站:cn.vuejs.org vue-router官方教程:router.vuejs.org/zh-cn vu ...
- HTTPclient 4.2.2 传参数和文件流
package com.http; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodin ...
- Gym 101194H / UVALive 7904 - Great Cells - [数学题+快速幂][2016 EC-Final Problem H]
题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?opti ...
- laravel使用记录
引用外部文件方式参考地址:https://blog.csdn.net/Darry_Zhao/article/details/52689635 跟踪数据库执行语句 DB::enableQueryLog( ...
- scrollview嵌套tableview
之前写过一次,忘记了, 用的通知 FS
- opencv 进行图像的花屏检测(模糊检测)
参考: https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/ https://www.cnblogs.com/ark ...
- Hibernate的条件查询的几种方式+查询所有的记录
条件查询 . 第一种,用?占位符,如: //登录(用?占位符) public List<UserPO> LoginUser(UserPO up)throws Exception{ Sess ...