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 + 1print'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})