美文网首页
python多线程threading示例

python多线程threading示例

作者: pixyon | 来源:发表于2019-10-27 23:09 被阅读0次
def threadArr(num,func,arr,**kwargs):
    import threading,sys
    from myfunkr import splitArr
    type = sys.getfilesystemencoding()

    splitArrResult = splitArr(arr, num)
    print '多线程开始...'.decode('utf-8').encode(type)
    threadArr = []

    for i in range(num):
        #*args是接收任意多的参数变量 也可以没有 获取到的是一个数组
        t = threading.Thread(target=func, args=(splitArrResult[i], kwargs))
        threadArr.append(t)

    for x in threadArr:
        x.start()
    # 有join 可以等上面都执行完了再继续主线程
    x.join()
    print '多线程结束...'.decode('utf-8').encode(type)

def func(arr,kwargs):
    for aa in arr:
        threadLock.acquire()
        print aa,kwargs['key1'],kwargs['key2']
        threadLock.release()

if __name__=='__main__':
    arr=range(100)
    import threading
    threadLock = threading.Lock()
    #threadArr(20,func,arr,**{'key1':'value1','key2':'value2'})
    kwother={'key1':'value1','key2':'value2'}
    #func(arr,**kwother)
    threadArr(20,func,arr,**kwother)

运行结果:

1 value1 value2
2 value1 value2
3 value1 value2
4 value1 value2
5 value1 value2
6 value1 value2
10 value1 value2
7 value1 value2
......

函数func的参数kwargs是一个可变关键字参数 调用时要注意
锁要在主进程那边先调用 之后在函数里面使用才可以

相关文章

  • python多线程threading示例

    运行结果: 1 value1 value22 value1 value23 value1 value24 valu...

  • 线程

    多线程--threading python的thread模块是比较底层的模块,python的threading模块...

  • 06.系统编程-2.线程

    1、多线程-threading python的thread模块是比较底层的模块,python的threading模...

  • 1.6.1 Python线程使用 -- threading

    多线程-threading python的thread模块是比较底层的模块,python的threading模块是...

  • 线程实战

    多线程-threading python的thread模块是比较底层的模块,python的threading模块是...

  • 线程 threading

    1. 多线程-threading python的thread模块是比较底层的模块,python的threading...

  • python多线程

    1.通过threading模块使用多线程 python中多线程的方式是引用threading模块 2.Thread...

  • Python Threading.Timer 多线程无法退出

    Python Threading.Timer 多线程无法退出

  • 多线程

    threading 模块 在 Python 中实现多线程,可以利用 threading 模块中的 Thread 来...

  • Python中线程的理解

    Num01-->多线程threading Python中建议使用threading模块,而不要使用thread模块...

网友评论

      本文标题:python多线程threading示例

      本文链接:https://www.haomeiwen.com/subject/ixzmvctx.html