Код: Выделить всё
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import time
import sys
import numpy as np
class Mainthread(QThread):
def __init__(self, parent):
super().__init__(parent)
self.parent = parent
self.running = None
self.mutex = QMutex()
def run(self):
while self.running:
self.mutex.lock()
print ("test")
time.sleep(1)
self.mutex.unlock()
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.mainthread = Mainthread(self)
self.mainthread.running = True
self.mainthread.start()
self.mainthread1 = Mainthread(self)
self.mainthread1.running = True
self.mainthread1.start()
app = QApplication(sys.argv)
mainwindow = MainWindow()
mainwindow.show()
app.exec_()
Я ожидал именно этого основного потока
сообщение code> (которое является «тестовым») будет напечатано, затем подождите секунду, а затем будет напечатано сообщение mainthread1. Вместо этого кажется, что оба потока выполняются одновременно. Я что-то упускаю?
Подробнее здесь: https://stackoverflow.com/questions/752 ... th-qthread
Мобильная версия