当前位置: 首页 > 面试题库 >

Python 2.7:打印线程安全

栾耀
2023-03-14
问题内容

我在这里看到过类似的文章,但是它涉及的是Python 2.6,我希望有一种更简单的方法。

从阅读线程看来,最好的方法似乎就是用sys.stdout.write(s +’\ n’)替换我所有的打印语句?

我希望有一种更好的方法可以让我仍然使用打印


问题答案:

from future import print_function
print = lambda x: sys.stdout.write(“%s\n” % x)

是一个不错的便宜又肮脏的hack。



 类似资料:
  • 问题内容: 使用线程进行奇数打印,创建一个线程类,两个线程实例。 一个将打印奇数,而另一个将打印偶数。 我做了以下编码。但这涉及到死锁状态。有人可以解释一下原因吗? 输出: 奇数1偶数2 然后陷入僵局!!!!!! 谢谢你的帮助。 问题答案: 您正在等待并通知其他对象( 监视器 )。 这个想法是,你在做和做的时候可以打电话等待一个人做。 将您的方法更改为类似 和方法类似。 然后为提供一个对象: 输出

  • 我把这段代码编译为名为a.out的程序,然后又写了一个shell脚本,shell脚本的功能是无限运行程序,然后等2秒后,我停止运行shell脚本,然后我发现在某次运行a.out时,"This is a thread test\n"被运行了两次,我就有一点疑惑,按理来说,如果testThread有机会运行的话,最多只打印一次"This is a thread test\n",结果就只打印了两次,我就

  • 有两个线程,一个是打印偶数,另一个是打印奇数。在下面自定义锁的帮助下,我想按顺序打印数字。问题出在打印一些数字后(显示的数字顺序正确。)线程越来越死机。我花了一个多小时还是找不到问题,对我来说一切都很好。

  • 我试图实现这一点:第一个线程打印1,第二个线程打印2,第三个线程打印3,第一个线程打印4等等: 我做到了这一点,并发挥了作用: 输出是这样的: 它达到了目的,但是如果我有两个线程要打印,那么我必须使用更多的如果条件。 任何人都可以建议以更好的形式编写这段代码,以更干净的方式完成任务,这样如果添加更多线程,它就可以扩展。

  • 1.手机版 使用方法:找到需要打印的流程-打印流程   2.电脑版 目前电脑版审批操作与手机版完全一致

  • 问题内容: 我正在尝试使用2个不同的线程交替打印奇数和偶数。我能够使用等待,通知和同步块来实现它,但是现在我想评估是否可以不使用等待,通知和同步来实现它。 以下是我拥有的代码,但无法正常工作: } 有任何想法吗? 根据Bruno的建议,我创建了另一个版本,该版本似乎效果更好: 问题答案: 代码未正确同步,这就是问题所在。 您的代码中允许以下执行顺序: 第一个线程看到,将其设置为并进入块。 第二个线