博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python】多线程2
阅读量:5039 次
发布时间:2019-06-12

本文共 2140 字,大约阅读时间需要 7 分钟。

threading模块

import timeimport randomimport threadingclass Inclass:    def __init__(self):        print 'Inclass 初始化'    def execIn(self,i):        rand = int(random.random() * 10)        print i,'---%s--开始执行,暂停%d秒' % (time.ctime(),rand)        time.sleep(rand)        class Outclass:    def __init__(self):        print 'OutClass初始化'    def execOut(self):        InC = Inclass()        length = 1000        nloops = range(length)        threads = []        for i in range(length):            t = threading.Thread(target = InC.execIn, args = (i,))            threads.append(t)        for i in nloops:            threads[i].start()        for i in nloops:            threads[i].join()            OC = Outclass()OC.execOut()

版本2:

import timeimport randomimport threadingclass Inclass:    def __init__(self):        print 'Inclass 初始化'    def execIn(self,i):        rand = int(random.random() * 10)        print i,'---%s--开始执行,暂停%d秒' % (time.ctime(),rand)        time.sleep(rand)        return i                        class MyThread(threading.Thread):    def __init__(self,func,args,name = ''):        threading.Thread.__init__(self)        self.name = name        self.func = func        self.args = args    def getResult(self):        return self.res    def run(self):        self.res = self.func(*self.args)                class Outclass:    def __init__(self):        print 'OutClass初始化'    def execOut(self):        InC = Inclass()        length = 1000        threadlen = 10        k = 0        i = 0        while i < length:            nloops = range(threadlen)            threads = []            for j in range(threadlen):                t = MyThread( InC.execIn, (i,))                i += 1                threads.append(t)            for i in nloops:                threads[i].start()            for i in nloops:                threads[i].join()                            for i in nloops:                print '-----result:',threads[i].getResult()                            print k,'---%s--开始执行多线程第%d个小循环' % (time.ctime(),k)            k += 1            OC = Outclass()OC.execOut()

 

转载于:https://www.cnblogs.com/colipso/p/4514082.html

你可能感兴趣的文章
2018.11.24 poj2774Long Long Message(后缀数组)
查看>>
Python之路【第十六篇】Django基础
查看>>
nyoj 最长公共子序列(LCS)
查看>>
java基础 三 概念和java程序的结构.
查看>>
jedis应用实例
查看>>
Netty实战八之引导
查看>>
如何做一个自己的开源聊天项目?(仿微信)
查看>>
C#异步编程
查看>>
XML的简单读取与写入
查看>>
关于dojo模块化引入包的问题
查看>>
Linux下 网卡测速
查看>>
17秋 软件工程 团队第五次作业 Alpha Scrum1
查看>>
17秋 软件工程 团队第五次作业 Alpha 测试报告
查看>>
js 定时器
查看>>
iOS CoreAnimate 动画实现
查看>>
BZOJ5300 [Cqoi2018]九连环 【dp + 高精】
查看>>
BZOJ4036 [HAOI2015]按位或 【minmax容斥 + 期望 + FWT】
查看>>
splay tree 学习笔记
查看>>
NOIP2017 【游记】
查看>>
BZOJ1452 [JSOI2009]Count 【树套树 (树状数组)】
查看>>