测试积点老人 发表于 2021-9-10 13:53:12

python 线程相关问题:多线程是否会影响子进程里面的print 操作

大概描述一下我的问题:
[*]创建了一个线程,线程内是能够正常运行的unittest框架的测试脚本
[*]测试脚本内加了一个print 操作,线程和线程内测试脚本都正常执行完成,但相关的变量没有print出来
[*]原本猜测可能和unittest有关,但去掉外层的线程创建之后,变量能正常打印,
[*]所以猜测是否和多线程有关,多线程是否会有相关的影响?
猜测可能是这个原因,还在持续调试中,麻烦帮看看,谢谢
注:当前只创建了一个线程,之所以使用多线程,是有多个线程同步执行case的需求
[*]部分代码如下:
#执行case 和多线程创建部分的代码
def run_case():
    cur_thread_name = threading.current_thread().name
    report_name = Path.date_time + '_' + cur_thread_name + 'Report.html'
    testlist = unittest.defaultTestLoader.discover(
      start_dir=Path.testcase_path_x_mac
      , pattern='test*.py')
    result = BeautifulReport(testlist)
    result.report(filename=report_name, description='Result of test', log_path=Path.report_path)
class myThread(threading.Thread):
    def __init__(self, thread_id, name):
      threading.Thread.__init__(self)
      self.thread_id = thread_id
      self.name = name
    def run(self):
      print('开启线程:' + self.name + '\n')
      run_case()
      print('退出线程:' + self.name)

if __name__ == '__main__':
    thread_list = []
    for i in range(len(ListData.node_list)):
      thread_name = ListData.node_list
      new_thread = myThread(i, thread_name)
      thread_list.append(new_thread)
    for thread in thread_list:
      thread.start()
    for thread in thread_list:
      thread.join()
[*]部分执行case 部分,加了个print

qqq911 发表于 2021-9-13 10:34:37

可以下断点调试下

海海豚 发表于 2021-9-13 16:11:49

https://blog.csdn.net/weixin_39585974/article/details/111010847 参考这个看看

jingzizx 发表于 2021-9-13 16:20:20

要看多线程调用是否会使用相同的资源
页: [1]
查看完整版本: python 线程相关问题:多线程是否会影响子进程里面的print 操作