summaryrefslogtreecommitdiff
path: root/thread_utils.py
diff options
context:
space:
mode:
authorDico200 <dico.karssiens@gmail.com>2015-11-23 23:29:06 +0100
committerDico200 <dico.karssiens@gmail.com>2015-11-23 23:29:06 +0100
commit4d5861fd3648e969b6a5dc6b210a81eccda2636c (patch)
tree0b0eb1d09ae9a72bd36ba1a0be0aa57ed7ca265e /thread_utils.py
parent9d0e4c99ba84d4efb7828704ed5b0a8e7bdfc52d (diff)
parent781714bc7423565cd7aeb7b3b29899269cf80454 (diff)
Merge branch 'wrapper' of https://github.com/RedstonerServer/redstoner-utils into wrapper
Diffstat (limited to 'thread_utils.py')
-rw-r--r--thread_utils.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/thread_utils.py b/thread_utils.py
new file mode 100644
index 0000000..ec13c6f
--- /dev/null
+++ b/thread_utils.py
@@ -0,0 +1,24 @@
+import threading
+"""
+Quick implementation of a @synchronized and @asynchronized decorators
+"""
+
+#To be replaced by bukkit scheduler.
+"""
+def sync(lock=None):
+ def decorator(wrapped):
+ def wrapper(*args, **kwargs):
+ with lock:
+ return wrapped(*args, **kwargs)
+ return wrapper
+ return decorator
+"""
+
+def async(daemon = True):
+ def decorator(function):
+ def wrapper(*args,**kwargs):
+ thread = threading.Thread(target=function,args=args,kwargs=kwargs)
+ thread.daemon = daemon
+ thread.start()
+ return wrapper
+ return decorator \ No newline at end of file