1. 编程语言里面的任务和线程是很重要的一个功能。在python里面,线程的创建有两种方式,其一使用Thread类创建

# 导入Python标准库中的Thread模块
from threading import Thread
# 创建一个线程
mthread = threading.Thread(target=function_name, args=(function_parameter1, function_parameterN))
# 启动刚刚创建的线程
mthread .start()

function_name: 需要线程去执行的方法名

args: 线程执行方法接收的参数,该属性是一个元组,如果只有一个参数也需要在末尾加逗号。

2. 重新写一个类,继承threading.Thread

import threading, time
class MyThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
global n, lock
time.sleep()
if lock.acquire():
print n , self.name
n +=
lock.release()
if "__main__" == __name__:
n =
ThreadList = []
lock = threading.Lock()
for i in range(, ):
t = MyThread()
ThreadList.append(t)
for t in ThreadList:
t.start()
for t in ThreadList:
t.join()

重写了父类threading.Thread的run()方法,其他方法(除了构造函数)都不应在子类中被重写。使用线程的时候生成一个子线程类的对象,然后对象调用start()方法就可以运行线程。

4. 线程等待,我们的主线程不会等待子线程执行完毕再结束自身。可以使用Thread类的join()方法来子线程执行完毕以后,主线程再关闭。

t.join()

5. isAlive()方法测试线程是否是活动的,返回线程名。 
setName(name) 
设置线程名。

最新文章

  1. 计划将项目中使用entity framework的要点记录到改栏目下
  2. 关注微信 即可连上wifi 的设计思路
  3. Android MonoGame坑记
  4. Web--RSS
  5. 【留坑】uva12299
  6. 验证合法的url
  7. 现有C2B模式小总结
  8. Graph - leetcode [图]
  9. COM问题
  10. python自定义库文件路径
  11. ROS零门槛学渣教程系列前言
  12. finalize方法的使用
  13. 浅谈基于WOPI协议实现跨浏览器的Office在线编辑解决方案
  14. 源码分析五(HashSet的内部实现)
  15. eclispse修改项目项目编码
  16. Flord算法传递闭包
  17. Dream------scala--Tuple、Array、Map与文件操作
  18. Eclipse中使用Maven创建项目 (转)
  19. go语言学习框架
  20. adb client, adb server, adbd原理浅析(附带我的操作过程)

热门文章

  1. Linux系统错误码对照表
  2. Visual Studio 编辑器打开项目后,一直提醒Vs在忙,解决方法
  3. Vue.js-创建Vue项目(Vue项目初始化)并不是用Webstrom创建,只是用Webstrom打开
  4. JavaScript如何转换数据库DateTime字段类型?
  5. ABI (应用程序二进制接口)
  6. C++11 新特性之 decltypekeyword
  7. 【HHHOJ】ZJOI2019模拟赛(十五)03.17 解题报告
  8. 【LOJ6045】「雅礼集训 2017 Day8」价(网络流)
  9. 怎么让Sublime Text不自动打开最近的文件/项目
  10. Miller rabin