在 coolshell [1]看到一段代码, 非常酷:
def async(fn):
@wraps(fn)
def async_func(*args, **kwargs):
_func = Thread(target=fn, args=args, kwargs=kwargs)
_func.start()
return _func
return async_func
@async
def print_data():
pass
def main():
print_data()
可以看到在用 async 装饰之后, 在 main 中是异步调用 print_data.
1. 这是什么原理呢?
2. 还有更强大的方法实现异步吗?
---------
[1]: http://coolshell.cn/articles/11265.html
def async(fn):
@wraps(fn)
def async_func(*args, **kwargs):
_func = Thread(target=fn, args=args, kwargs=kwargs)
_func.start()
return _func
return async_func
@async
def print_data():
pass
def main():
print_data()
可以看到在用 async 装饰之后, 在 main 中是异步调用 print_data.
1. 这是什么原理呢?
2. 还有更强大的方法实现异步吗?
---------
[1]: http://coolshell.cn/articles/11265.html