Python
8
Вклад в тег
mkcd() {
mkdir $1
cd $1
}
~> mkcd foobar
~/foobar>
from time import sleep, time
from functools import wraps
def mult_threading(func):
"""Декоратор для запуска функции в отдельном потоке"""
@wraps(func)
def wrapper(*args_, **kwargs_):
import threading
func_thread = threading.Thread(target=func,
args=tuple(args_),
kwargs=kwargs_)
func_thread.start()
return func_thread
return wrapper
# Сразу делаем функцию многопоточной
@mult_threading
def some_func(x, y, name="Petia", df=None, *args, **kwargs):
sleep(5) # Тут мы чего-то доолго ждем / вычисляем / etc
print("X = %s; Y = %s; Name=%s; df=%s" % (x, y, name, df))
print("Another args:", args, kwargs)
# ==Проверяем работу==
# Стартуем нашу долгоиграющую функцию
some_func(4, 7, df=11, 21, clone="SomeClone")
# Занимаемся очень важными делами
for Z in range(25):
print(Z)
sleep(0.2)