python multi process multi thread

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})

猜你喜欢

转载自www.cnblogs.com/zealousness/p/9483422.html