在不继承 Python 中线程类的情况下实现线程
我们将使用一个类在 Python 中实现线程,而不需要对名为线程的超类进行子类化。
为了充分利用底层处理器并提高应用程序的性能,我们可以创建多个可以并行执行的线程。充分利用处理器和我们的应用程序将带来最佳的用户体验,速度会很快。
在 Python 中创建线程有三种方式:
- 使用函数
- 扩展线程类
- 不扩展线程类
我们将实施的最后一种方法也称为混合方法。我们将定义一个类,但是该类不会扩展父类线程,相反,我们将直接定义任何我们想要的函数。相反,我们将创建线程的一个实例,然后将我们想要在该对象中执行的对象和函数作为目标传递,参数是第二个参数。然后调用线程启动方法。
例 1: 通过打印前 10 个自然数 实现线程
Python 3
# importing thread module
from threading import *
# class does not extend thread class
class MyThread:
def display(self):
i = 0
print(current_thread().getName())
while(i <= 10):
print(i)
i = i + 1
# creating object of out class
obj = MyThread()
# creating thread object
t = Thread(target = obj.display)
# invoking thread
t.start()
输出:
Thread-1
0
1
2
3
4
5
6
7
8
9
10
示例 2: 通过打印给定范围内的偶数来实现线程
Python 3
# importing thread module
from threading import *
# class does not extend thread class
class MyThread:
def display(self):
i = 10
j = 20
print(current_thread().getName())
for num in range(i, j + 1):
if(num % 2 == 0):
print(num)
# creating an object of our class
obj = MyThread()
# creating a thread object
t = Thread(target = obj.display)
# invoking the thread
t.start()
输出:
Thread-1
10
12
14
16
18
20
版权属于:月萌API www.moonapi.com,转载请注明出处