首页 > 解决方案 > 使用类创建的实例/对象的python多线程

问题描述

我一直在尝试对多个实例使用线程。

这是我的代码:

from threading import Thread
from random import randint
import time 


class MyThread(Thread):

    def __init__(self):
        Thread.__init__(self)

    def run(self):
        for x in range(1,5):

            print(self.getName())
            time.sleep(2)

       mythread1 = MyThread()
       mythread2 = MyThread()

       mythread1.setName('Thread 1')
       mythread2.setName('Thread 2')

当我开始一个线程。输出按预期显示。

 mythread2.start()

输出:线程 2

但是,如果我在另一个单元格中运行第二个线程。较早单元格的输出出现在不同的单元格中。

mythread1.start()

输出: 线程 1 线程 2 线程 1 线程 2 线程 1 线程 2 线程 1

我希望输出出现在它的每个单元格中。我认为多线程正在发生,但输出出现在最后一个单元格中。

我的流程有问题吗?我需要让每个单元格打印自己的输出。

谢谢!

在此处输入图像描述

标签: pythonmultithreadingjupyter-notebookjupyter

解决方案


推荐阅读