1. import time
  2. import random
  3. import threading
  4. import inspect
  5.  
  6. def get_current_function_name():
  7. return inspect.stack()[1][3]
  8.  
  9. class Inclass:
  10. def __init__(self):
  11. print 'Inclass 初始化'
  12. def execIn(self,i):
  13. rand = int(random.random() * 10)
  14. print i,'【%s.%s】---%s--开始执行,暂停%d秒' % (self.__class__.__name__, get_current_function_name(),time.ctime(),rand)
  15. time.sleep(rand)
  16. return i
  17.  
  18. class MyThread(threading.Thread):
  19. def __init__(self,func,args,name = ''):
  20. threading.Thread.__init__(self)
  21. self.name = name
  22. self.func = func
  23. self.args = args
  24. def getResult(self):
  25. return self.res
  26. def run(self):
  27. self.res = self.func(*self.args)
  28.  
  29. class Outclass:
  30. def __init__(self):
  31. print 'OutClass初始化'
  32. def execOut(self):
  33. InC = Inclass()
  34. length = 1000
  35. threadlen = 10
  36. k = 0
  37. i = 0
  38. while i < length:
  39. nloops = range(threadlen)
  40. threads = []
  41. for j in range(threadlen):
  42. t = MyThread( InC.execIn, (i,))
  43. i += 1
  44. threads.append(t)
  45. for i in nloops:
  46. threads[i].start()
  47. for i in nloops:
  48. threads[i].join()
  49.  
  50. for i in nloops:
  51. print '-----result:',threads[i].getResult()
  52.  
  53. print k,'【%s.%s】--%s--开始执行多线程第%d个小循环' % (self.__class__.__name__, get_current_function_name(),time.ctime(),k)
  54. k += 1
  55.  
  56. OC = Outclass()
  57. OC.execOut()

【Python】动态获取python类名、函数名&多线程的更多相关文章

  1. [Python] 动态函数调用(通过函数名)

    2018-04-09 update 利用python中的内置函数 eval() ,函数说明: def eval(*args, **kwargs): # real signature unknown & ...

  2. python 动态生成变量名以及动态获取变量的变量名

    前言需求: 必须现在需要动态创建16个list,每个list的名字不一样,但是是有规律可循,比如第一个list的名字叫: arriage_list_0=[],第二个叫arriage_list_1=[] ...

  3. 类名+函数名(参数1,参数2.....){.......return this;}

    下述的函数是这样定义的: 类名+函数名(参数1,参数2.....){.......return this;} int +函数名(参数1,参数2.....){.......return int;} sh ...

  4. python 动态获取当前运行的类名和函数名的方法

    一.使用内置方法和修饰器方法获取类名.函数名 python中获取函数名的情况分为内部.外部,从外部的情况好获取,使用指向函数的对象,然后用__name__属性 复制代码代码如下: def a():pa ...

  5. python 获取当前运行的类名函数名

    import inspect def get_current_function_name(): return inspect.stack()[1][3] class MyClass: def func ...

  6. python 获取当前调用函数名等log信息

    import sys funcName = sys._getframe().f_back.f_code.co_name #获取调用函数名 lineNumber = sys._getframe().f_ ...

  7. python动态获取对象的属性和方法 (转载)

    首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding:utf-8 import sys def foo():pass class Cat(object): def __init__ ...

  8. python动态获取对象的属性和方法 (转)

    转自未知,纯个人笔记使用 首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding:utf-8 import sys def foo():pass class Cat(object): ...

  9. python动态获取对象的属性和方法

    http://blog.csdn.net/kenkywu/article/details/6822220首先通过一个例子来看一下本文中可能用到的对象和相关概念.01     #coding: UTF- ...

  10. 【Python】—— 获取当前运行函数名称和类方法名称

    原文出处: python笔记19-获取当前运行函数名称和类方法名称 获取函数名称 1.在函数外部获取函数名称,用.__name__获取 2.函数内部获取当前函数名称,用sys._getframe(). ...

随机推荐

  1. 关于NavigationItem.rightBarButtonItem设置

    转自:http://blog.csdn.net/zhuzhihai1988/article/details/7701998 第一种: UIImage *searchimage=[UIImage ima ...

  2. mini filter driver sql server

    https://blogs.msdn.microsoft.com/sql_pfe_blog/2013/04/23/identifying-the-cause-of-sql-server-io-bott ...

  3. Cocos2d-x和时间有关的代码

    用cocos2d-x获取系统时间,格式为年月日时分秒: void GetTime(float dt) { struct tm *tm; #if (CC_TARGET_PLATFORM == CC_PL ...

  4. nyoj576 集齐卡片赢大奖(一)

    集齐卡片赢大奖(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 小时候你一定曾经为收集一套三国人物的卡片而买过不少零食吧?这些小吃的袋子里一般都会有一张卡片,如 ...

  5. Mock制作假数据

    name 为属性名, rule 为规则, value 为值,属性名和生成规则之间用|分隔,生成规则的格式有7种: 字符串 String, 数字 Number, 布尔型 Boolean, 对象 Obje ...

  6. scrollTop兼容封装

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. LeetCode: Populating Next Right Pointers in Each Node II 解题报告

    Populating Next Right Pointers in Each Node IIFollow up for problem "Populating Next Right Poin ...

  8. HTML5的video虽然可用controls来展示控件

    HTML5的video虽然可用controls来展示控件,并进行控制播放暂停等,但是不同的浏览器显示的效果可能不一样,所以很多时候我们需要使用Dom来进行自定义的一些操作和控制.下面是一个小例子. 当 ...

  9. 利用jdbc连接池(利用jdni)

    简介 前段时间用jdbc连接池,在这里记录下 1.利用jdni配置数据源 在Web项目的META-INF文件夹中新建context.xml文件,内容为: <?xml version=" ...

  10. Linux进阶:让效率翻倍的Bash技巧(一)

    http://blog.tpircsboy.com/tech/bash-skills-part1/