Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何同时运行两个线程?_Python_Multithreading_Python 3.x_Python Multiprocessing - Fatal编程技术网

Python 如何同时运行两个线程?

Python 如何同时运行两个线程?,python,multithreading,python-3.x,python-multiprocessing,Python,Multithreading,Python 3.x,Python Multiprocessing,上面的代码按顺序而不是同时运行这些方法。我想要一种可以同时运行两个方法/进程的方法。代码中的简单错误 替换: from threading import Thread import time class ThreadTest(): def loop1(self): for i in range(0, 100, 5): print(i) time.sleep(2) def loop2(self):

上面的代码按顺序而不是同时运行这些方法。我想要一种可以同时运行两个方法/进程的方法。

代码中的简单错误

替换:

from threading import Thread
import time
class ThreadTest():

    def loop1(self):
        for i in range(0, 100, 5):
            print(i)
            time.sleep(2)

    def loop2(self):
        for i in range(100, 210, 11):
            print(i)
            time.sleep(2)

if __name__ == '__main__':
    T1 = Thread(target=ThreadTest().loop1(), args=())
    T2 = Thread(target=ThreadTest().loop2(), args=())
    T1.start()
    T2.start()
    T1.join()
    T2.join()
与:

因为您正在主线程中调用函数
loop1()
loop2()
,所以它们将按顺序运行。您希望指向函数,而不实际调用它们,这样子线程就可以自己调用它们

T1 = Thread(target=ThreadTest().loop1(), args=())
T2 = Thread(target=ThreadTest().loop2(), args=())
T1 = Thread(target=ThreadTest().loop1, args=())
T2 = Thread(target=ThreadTest().loop2, args=())