51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2780|回复: 3
打印 上一主题 下一主题

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

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:47
  • 签到天数: 528 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2021-9-10 13:53:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点

    大概描述一下我的问题:

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

    19. if __name__ == '__main__':
    20.     thread_list = []
    21.     for i in range(len(ListData.node_list)):
    22.         thread_name = ListData.node_list[i]
    23.         new_thread = myThread(i, thread_name)
    24.         thread_list.append(new_thread)
    25.     for thread in thread_list:
    26.         thread.start()
    27.     for thread in thread_list:
    28.         thread.join()
    复制代码
    • 部分执行case 部分,加了个print

    附件: 您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    6 小时前
  • 签到天数: 1518 天

    连续签到: 2 天

    [LV.Master]测试大本营

    2#
    发表于 2021-9-13 10:34:37 | 只看该作者
    可以下断点调试下
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    7 小时前
  • 签到天数: 1803 天

    连续签到: 2 天

    [LV.Master]测试大本营

    3#
    发表于 2021-9-13 16:11:49 | 只看该作者
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    8 小时前
  • 签到天数: 2814 天

    连续签到: 2 天

    [LV.Master]测试大本营

    4#
    发表于 2021-9-13 16:20:20 | 只看该作者
    要看多线程调用是否会使用相同的资源
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-19 16:32 , Processed in 0.061998 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表