import threading
import subprocess import time def need_thread(func, *args, **kwargs):
def fun():
print "sub:" + str(threading.current_thread().ident)
time.sleep(1)
sub = func(*args, **kwargs)
print sub.stdout.read()
print "sub down" def inner():
t = threading.Thread(target=fun)
t.start()
return inner if __name__ == '__main__':
need_thread(subprocess.Popen, "ls -al", stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)()
print "main:" + str(threading.current_thread().ident)
print "main done"

最新文章

  1. Hibernate @Formula 注解方式
  2. 新浪微博客户端(14)-截取回调地址中的授权成功的请求标记,换取access_token
  3. 一样的Android,不一样的学习
  4. 将Tomcat注册为Windows服务
  5. OpenCV源码阅读(3)---matx.h---学习心得
  6. navicat 数据库管理工具快捷键
  7. Xcode7真机测试
  8. TCP/IP capture/analysis tools in Unix/Linux
  9. php 异步
  10. enum的java例子
  11. 我的学习之路_第五章_Data,正则
  12. zabbix 3.2 高可用实现方式二-pacemaker+corosync实现zabbix高可用集群
  13. NOIP2017划水崩盘记
  14. 教程:关于如何通过Maven仓库安装Spire系列的 Java产品
  15. 详解封装微信小程序组件及小程序坑(附带解决方案)
  16. redis单线程为什么速度那么快?
  17. [NOIp2009] $Hankson$ 的趣味题
  18. laravel5.8笔记五:基类控制器和基类模型
  19. Yii DataProvider
  20. activiti 插件安装,以及初始化配置

热门文章

  1. ASP.NET_SessionId 不相同导致验证码出错
  2. 20181011_matplotlib
  3. STM32在程序运行过程中关闭定时器重新打开后定时器不工作的问题
  4. SpringCloud系列十三:Feign对继承、压缩、日志的支持以及构造多参数请求
  5. MII_GMII_RGMII_RMII_SMII_SSMII_TBI_RTBI比较
  6. UVA 11885 - Number of Battlefields(斐波那契)
  7. Chap 2 Representing and Manipulating Information (CS:APP)
  8. 160. Intersection of Two Linked Lists【easy】
  9. vue 声明响应式属性
  10. 随机生成数,摘自算法竞赛入门经典P120-P123测试STL。