什么是python线程模块?九种方法助你了解线程模块


本文摘自php中文网,作者乌拉乌拉~,侵删。

对于第一次接触到python这门编程语言的朋友来说,刚刚开始学习python线程模块的时候,对于python中线程模块这一方面的了解比较少,在这篇文章之中我们就来了解关于python线程模块的知识吧。废话不多说,我们开始学习线程模块吧。

什么是线程模块

Python通过两个标准库thread和threading提供对线程的支持。thread提供了低级别的、原始的线程以及一个简单的锁。

threading 模块提供的其他方法:

1.threading.currentThread(): 返回当前的线程变量。

2.threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。

3.threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。

除了使用方法外,线程模块同样提供了Thread类来处理线程,Thread类提供了以下方法:

1.run(): 用以表示线程活动的方法。

2.start():启动线程活动。

3.join([time]): 等待至线程中止。这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生。

4.isAlive(): 返回线程是否活动的。

5.getName(): 返回线程名。

6.setName(): 设置线程名。

使用使Threading模块创建线程

使用Threading模块创建线程,直接从threading.Thread继承,然后重写__init__方法和run方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

# !/usr/bin/python

# -*- coding: UTF-8 -*-

 

import threading

import time

 

exitFlag = 0

 

class myThread(threading.Thread):  # 继承父类threading.Thread

   def __init__(self, threadID, name, counter):

      threading.Thread.__init__(self)

      self.threadID = threadID

      self.name = name

      self.counter = counter

   def run(self):  # 把要执行的代码写到run函数里面 线程在创建后会直接运行run函数

      print "Starting " + self.name

      print_time(self.name, self.counter, 5)

      print "Exiting " + self.name

def print_time(threadName, delay, counter):

   while counter:

      if exitFlag:

         (threading.Thread).exit()

      time.sleep(delay)

      print "%s: %s" % (threadName, time.ctime(time.time()))

      counter -= 1

# 创建新线程

thread1 = myThread(1, "Thread-1", 1)

thread2 = myThread(2, "Thread-2", 2)

# 开启线程

thread1.start()

thread2.start()

print "Exiting Main Thread"

以上程序执行结果如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Starting Thread-1

Starting Thread-2

Exiting Main Thread

Thread-1: Thu Mar 21 09:10:03 2013

Thread-1: Thu Mar 21 09:10:04 2013

Thread-2: Thu Mar 21 09:10:04 2013

Thread-1: Thu Mar 21 09:10:05 2013

Thread-1: Thu Mar 21 09:10:06 2013

Thread-2: Thu Mar 21 09:10:06 2013

Thread-1: Thu Mar 21 09:10:07 2013

Exiting Thread-1

Thread-2: Thu Mar 21 09:10:08 2013

Thread-2: Thu Mar 21 09:10:10 2013

Thread-2: Thu Mar 21 09:10:12 2013

Exiting Thread-2

以上就是本篇文章所讲述的所有内容,这篇文章主要介绍了python线程模块的相关知识,希望你能借助资料从而理解上述所说的内容。希望我在这片文章所讲述的内容能够对你有所帮助,让你学习python更加轻松。

更多相关知识,请访问php中文网Python教程栏目。

以上就是什么是python线程模块?九种方法助你了解线程模块的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python绘制五角星

新浪新闻详情页的数据抓取实例

Python单引号、双引号、三引号的区别

Python编程基础是什么

Python三大框架:flask框架、tornado框架、django框架简介

Python如何创建空列表

Python输入十个数如何输出最大值

Python中四种锁的使用示例(代码)

Python中什么是算术运算符、赋值运算符和复合运算符?

Python如何将数据导出excel的技巧分享

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...