
处理到多线程的线程
执行线程是可以由调度程序独立管理的最小的编程指令序列,通常是操作系统的一部分。我们可以将线程称为进程的元素。
在计算中, 过程是正在执行的计算机程序的实例。 它包含程序代码及其活动。 取决于操作系统,进程可能由多个线程组成,这些线程同时执行指令。
这两个概念之间的主要区别在于,线程通常是进程的组成部分。 因此,一个进程可以包含多个线程,这些线程可以同时执行,也称为多线程
Python中的线程模块
python中的线程模块最初受Java启发。 线程模块是在python中使用线程的最常用方法。 让我们马上看一个例子。
在下面的示例中,我们希望同时运行两个线程(thread_A和thread_B)。 为了查看这些线程如何运行,我们创建了MyThread类的对象,该对象将任务和等待时间作为参数。 我们已经使用start和join方法来启动调用run()方法的调用线程对象,并等待调用线程对象完成,然后分别执行程序中的其余语句。
从 ThreadingClass 导入 MyThread
thread_A = MyThread( 'Task_A' ,1)
thread_B = MyThread( 'Task_B' ,1)
thread_A.start()
thread_B.start()
thread_A.join()
thread_B.join()
打印 ( “完成”。 )
要使用导入的线程模块自定义新线程,需要执行几个步骤。 首先定义threading.Thread类的子类,并在子类中覆盖默认的__init__和run()方法。
导入线程
导入时间
类 MyThread(threading.Thread):
def __init __(自我,任务,等待):
threading.Thread .__ init __(自己)
self.task =任务
self.wait =等待
def运行(自己):
打印 ( “正在启动线程%s。” %self.task)
thread_count_down(self.task,self.wait)
打印 ( “完成线程%s。” %self.task)
def thread_count_down(任务,等待):
计数器= 5
柜台:
时间。睡眠(等待)
打印 ( “线程%s倒计时:%i ...” %(任务,计数器))
计数器-= 1
从下面的输出中,我们可以看到两个线程同时运行,两个任务彼此独立地同时启动,从而极大地提高了性能。
启动线程Task_A。
启动线程Task_B。
线程Task_A倒计时:5 ...
线程Task_B递减计数:5 ...
线程Task_A倒计时:4 ...
线程Task_B递减计数:4 ...
线程Task_A倒计时:3 ...
线程Task_B倒计时:3 ...
线程Task_A递减计数:2 ...
线程Task_B递减计数:2 ...
线程Task_A递减计数:1 ...
成品线程Task_A。
线程Task_B递减计数:1 ...
成品线程Task_B。
完了
流程结束,退出代码为0