Python中如果要使用线程的话,python的lib中提供了两种方式。一种是函数式,一种是用类来包装的线程对象。举两个简单的例子希望起到抛砖引玉的作用,关于多线程编程的其他知识例如互斥、信号量、临界区等请参考python的文档及相关资料。
1、调用thread模块中的start_new_thread()函数来产生新的线程,请看代码:
python 代码
-
- import time
- import thread
- def timer(no,interval):
- while True:
- print 'Thread :(%d) Time:%s'%(no,time.ctime())
- time.sleep(interval)
- def test():
- thread.start_new_thread(timer,(1,1))
- thread.start_new_thread(timer,(2,3))
- if __name__=='__main__':
- test()
这个是thread.start_new_thread(function,args[,kwargs])函数原型,其中function参数是你将要调用的线程函数;args是讲传递给你的线程函数的参数,他必须是个tuple类型;而kwargs是可选的参数。
线程的结束一般依靠线程函数的自然结束;也可以在线程函数中调用thread.exit(),他抛出SystemExit exception,达到退出线程的目的。
2、通过调用threading模块继承threading.Thread类来包装一个线程对象。请看代码:
python 代码
- import threading
- import time
- class timer(threading.Thread):
- def __init__(self,no,interval):
-
- threading.Thread.__init__(self)
- self.no=no
- self.interval=interval
-
- def run(self):
- while True:
- print 'Thread Object (%d), Time:%s'%(self.no,time.ctime())
- time.sleep(self.interval)
-
- def test():
- threadone=timer(1,1)
- threadtwo=timer(2,3)
- threadone.start()
- threadtwo.start()
-
- if __name__=='__main__':
- test()
其实thread和threading的模块中还包含了其他的很多关于多线程编程的东西,例如锁、定时器、获得激活线程列表等等,请大家仔细参考python的文档!
分享到:
相关推荐
Python多线程编程是利用Python实现程序并行性的一种方式,尤其适合于处理异步、并发事务和资源密集型任务。在多线程环境中,多个线程可以同时执行,提高程序效率,尤其对于那些需要从多个输入源处理数据或者进行大量...
Python多线程编程是一种允许程序同时执行多个线程的技术,以实现程序的并行处理。这通常适用于那些可以分解为多个独立任务的程序,其中各个任务之间能够并发执行,从而提高程序的效率和响应速度。 在操作系统中,...
在多线程编程中,Python使用threading模块提供了基础的线程操作功能。线程同步机制包括Lock、RLock、信号量(Semaphore)、条件(Condition)、事件(Event)等。通过这些同步机制可以有效地避免竞态条件,保证线程...
Python 多线程编程是 Python 编程语言中的一种重要概念。通过多线程编程,Python 开发者可以同时执行多个任务,从而提高程序的执行效率和响应速度。在本文中,我们将介绍 Python 中的多线程编程基础知识,包括多...
Python中如果要使用线程的话,python的lib中提供了两种方式。一种是函数式,一种是用类来包装的线程对象。举两个简单的例子希望起到抛砖引玉的作用,关于多线程编程的其他知识例如互斥、信号量、临界区等请参考...
本资源包提供了关于Python中线程创建的基础知识,通过两种不同的方法来演示如何在Python中创建线程。 首先,Python提供了`threading`模块来支持多线程编程。`threading.Thread`是核心的线程类,我们可以直接实例化...
总之,Python多线程编程是一种提高程序并发处理能力的有效手段。通过合理利用多线程,可以使程序执行效率得到显著提升。但同时也要注意线程安全和同步问题,避免因线程间的不恰当交互导致的数据错误和死锁问题。本文...
"深入Python编程"则是针对中文读者的一本Python进阶教程,它可能涵盖了Python的深入话题,如元编程、内存管理、性能优化、多线程和并发、Python的C扩展等。这本书适合已经对Python有一定了解的读者,通过阅读可以...
在Python中,还有线程(threading模块)和进程(multiprocessing模块)两种并发机制。线程适用于共享数据的情况,但存在全局解释器锁(GIL)的限制,导致在单核系统中无法充分利用多核优势。而进程则可以完全避开GIL...
根据提供的文档信息,本文主要介绍了Python中的多线程编程实践指南。尽管文档标题与内容存在不一致(标题提及了“Python多线程编程的实践指南”而内容却涉及到了Matlab),这里我们将聚焦于Python多线程编程的相关...
这两种方式都是基于Python的标准库`thread`和`threading`来实现的。 #### 函数方式创建线程 使用`thread`模块中的`start_new_thread()`函数可以方便地启动一个新的线程。该函数接受两个参数:一个是目标函数,另一...
多线程编程作为一种高效的任务处理方式,在现代软件开发中扮演着至关重要的角色。尤其对于Python这种广泛应用的语言来说,掌握多线程编程的技术显得尤为重要。下面详细介绍多线程编程的主要优势: 1. **提高程序...
在Python编程中,网络编程和多线程编程是两个重要的领域,它们允许程序高效地处理并发和网络通信。以下是对这两个主题的详细解释。 **Python网络编程** Python网络编程主要依赖于`socket`库,它提供了低级别的接口...
在Python中,多线程编程可以通过两种方式实现: 1. 函数式:使用thread模块的start_new_thread函数创建线程。 2. 类式:继承Thread类并重写run方法。 例如,函数式创建线程的代码: ```python import thread import...
Python是一种广泛使用的高级编程语言,尤其在Web开发、数据分析、人工智能等领域有广泛应用。"Python网络编程"和"Python系统编程"是Python学习中的两个重要分支,对于深入理解Python及其在实际场景中的应用至关重要...
Python中有两种方式来创建线程:使用threading模块中的Thread类的构造器创建线程,以及继承threading模块中的Thread类创建线程类。Thread类提供了如下的__init__()构造器,可以用来创建线程。该构造方法中,以上所有...
12. **XML和JSON处理**:介绍如何使用Python解析和生成XML和JSON,这两种常见的数据交换格式。 13. **单元测试和调试**:教授如何编写和运行单元测试,使用`unittest`和`pytest`框架,以及调试技巧。 14. **Python...