import threading\nimport time\n\ndef targetcs(sleep):\n\ttime.sleep(sleep)\n\tprint("当前线程", threading.current_thread().name, '', 'sleep', sleep)\n\tpass\n\nif name == 'main':\n\tt1 = threading.Thread(name='t1', target=targetcs, args=(1,))\n\tt2 = threading.Thread(name='t2', target=targetcs, args=(2,))\n\tt1.start()\n\tt2.start()\n\tprint("结束")\n\n在代码中,定义了一个名为targetcs的函数作为线程的目标函数,但是在创建线程的时候,却使用了一个名为target的函数作为目标函数,导致程序出错。解决方法是将创建线程的代码中的target参数改为targetcs。修改后的代码如下:\n\npython\nimport threading\nimport time\n\ndef targetcs(sleep):\n\ttime.sleep(sleep)\n\tprint("当前线程", threading.current_thread().name, '', 'sleep', sleep)\n\nif __name__ == '__main__':\n\tt1 = threading.Thread(name='t1', target=targetcs, args=(1,))\n\tt2 = threading.Thread(name='t2', target=targetcs, args=(2,))\n\tt1.start()\n\tt2.start()\n\tprint("结束")\n\n\n这样修改后,程序就可以正确运行了。

Python 多线程编程错误:目标函数名称不匹配

原文地址: https://www.cveoy.top/t/topic/pT7d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录