在学校,我正在做一个曲奇的翻拍。基本上,每一秒,我都需要把1分加到球员的分数上。我找到了一种方法,但我的问题是,它只关注计时器,然后我不能运行程序的任何其他部分,因为计时器需要不断地运行。我假设有一些方法可以让计时器始终在后台运行,同时仍然运行我的其他代码。我的计时器设置方式可能不是最好的(我只是研究了计时器方法,并将一些东西拼凑在一起)。以下是代码:
x = 1
while x == 1:
score += 1
time.sleep(1)
我仍然是非常新的,我是有点学习,因为我这样做。谢谢!
在无法在中找出我的应用程序中发生了什么之后,我尝试在我的pc上复制它,使用valgrind来查找内存/多线程问题。我在很多地方看到过这样的情况:
==769== Possible data race during write of size 4 at 0xACD3ADC by thread #13
==769== Locks held: none
==769== at 0x4C36067: memset (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==769== by 0x4E4570D: pthread_cre
我已经在我的项目中使用Qt开发了一段时间了,我们开始转向更面向线程的设计。在将一些GL渲染小工具移动到其他线程时,我发现了一些非常奇怪的行为。如果在接受用户输入的小部件(如QTextEdit)获得焦点之前,GL小部件开始从另一个线程(Boost线程或QThread)更新,我会得到如下的XCB崩溃:
[xcb] Too much data requested from _XRead
[xcb] This is most likely caused by a broken X extension library
[xcb] Aborting, sorry about that.
hypnotize