装饰器与线程 有没有关系呢?

简介: 装饰器与线程 有没有关系呢?

1.我为什么会写这篇文章呢?

起源:咱们做python的,公司有java的哥们,需要对接,然后他非说我有两个返回不一样,一个是及时响应,一个是异步回调javaAPI,
解决;我去找代码逻辑,我看了一遍又一遍,问题就在这装饰器上还比较复杂,我一想会不会是函数里面开线程导致 装饰器会装饰函数 又会装饰线程呢?
最后:是java有两个方法,请求python两次,所以结果不一样
备注:不要误导,线程跟装饰器没关系

2.代码如下

# 测试装饰器    方法里面写线程
from threading import Thread

def t_fun():
    print(f"我是线程方法")

def pre_fun(fun):
    print(f"进入装饰器")
    def wrapper(*args, **kwargs):
        print(f"开始处理装饰操作")
        fun(*args, **kwargs)
    
    return wrapper

@pre_fun
def fun():
    a = 1
    print(f"执行fun")

    t = Thread(target=t_fun,args=())
    t.start()


fun()

3.打印如下

开始运行...
进入装饰器
开始处理装饰操作
执行fun
我是线程方法

4.总结

傻了吧
先执行装饰器,在执行函数
函数里是从上到下执行的,
跟你线程有半毛钱关系吗
相关文章
|
9月前
进程并发装饰器
进程并发装饰器
48 0
装饰器与线程 有没有关系呢?
装饰器与线程 有没有关系呢?
|
11月前
|
Java API Go
线程介绍,线程与进程区别,如何使用多线程,Thread类,Runnable接口,补充知识(方法重载,方法重写)
线程介绍,线程与进程区别,如何使用多线程,Thread类,Runnable接口,补充知识(方法重载,方法重写)
|
4月前
|
存储 安全 IDE
C/C++ 作用域,生命周期,执行线程的概念
C/C++ 作用域,生命周期,执行线程的概念
40 2
|
算法 安全 Java
探索多线程编程:线程的本质、状态和属性
探索多线程编程:线程的本质、状态和属性
|
缓存 Java 数据库连接
线程的创建、Lambda函数式接口?Runnable和Callable之间的适配?动态修改线程任务?这里带你图解Java线程池
上面只是提到了对于Thread执行任务的一种动态实现方法,肯定还有其他的。 那么动态实现有什么好处呢? 当我们有很多个任务的时候,我们如果一直使用new,再让gc的话,那么对于系统资源的消耗无疑是巨大的。 那么这个时候,如果我们固定一下,专门拿几个线程来处理并发任务呢?但是当并发任务很多又该怎么办? 这个时候就引入了池化思想 —— Pool 什么是池? 在学JDBC的时候我们知道了连接池,在学Spring的时候,我们又接触到了对象池。 其实按理来说线程池应该是大家在初学JavaSE的时候应该就遇到的,这里我们再来讲一下。 线程池,就是用一个容器来管理线程,这个容器叫做池(Poo
108 0
线程的创建、Lambda函数式接口?Runnable和Callable之间的适配?动态修改线程任务?这里带你图解Java线程池
三个线程按顺序打印ABC?十二种做法,深入多线程同步通信机制
大家好,我是老三,这篇文章分享一道非常不错的题目:三个线程按序打印ABC。 很多读者朋友应该都觉得这道题目不难,这次给大家带来十二种做法,一定有你没有见过的新姿势。
|
设计模式 安全 Java
多线程的创建、线程的状态和调度and同步、join和yield以及单例设计模式的种类
多线程的创建、线程的状态和调度and同步、join和yield以及单例设计模式的种类
95 0
|
小程序 调度
一文掌握多线程并发中 Thread 类 yield 方法具体作用
一文掌握多线程并发中 Thread 类 yield 方法具体作用
350 0
一文掌握多线程并发中 Thread 类 yield 方法具体作用