muti thread:
python threading:
https://docs.python.org/2/library/threading.html#thread-objects
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832360548a6491f20c62d427287739fcfa5d5be1f000
http://ebyerly.com/python-threading-examples.html
recommend to use coroutine+muti process to replace muti thread in python
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868328689835ecd883d910145dfa8227b539725e5ed000
basic:
import time, threading # 新线程执行的代码: def loop(): print ‘thread %s is running...‘ % threading.current_thread().name n = 0 while n < 5: n = n + 1 print ‘thread %s >>> %s‘ % (threading.current_thread().name, n) time.sleep(1) print ‘thread %s ended.‘ % threading.current_thread().name print ‘thread %s is running...‘ % threading.current_thread().name t = threading.Thread(target=loop, name=‘LoopThread‘) t.start() t.join() print ‘thread %s ended.‘ % threading.current_thread().name
lock:
balance = 0 lock = threading.Lock() def run_thread(n): for i in range(100000): # 先要获取锁: lock.acquire() try: # 放心地改吧: change_it(n) finally: # 改完了一定要释放锁: lock.release()
arugments:
import threading def some_func(one, two, an_arg = 0): return one + two * an_arg eg = threading.Thread(target=some_func, args = (1, 2), kwargs = {"an_arg": 3})
python multi process multi thread
原文:https://www.cnblogs.com/zealousness/p/9483422.html