linux 多线程问题

linux 多线程问题,第1张

这个应该和标准I/O里面的缓冲有关。

记得缓冲区的大小好像是4K忘记是不是了,你那程序没有+‘\n’是全缓冲类型,

需要把整个缓冲区填满系统才会把数据刷新到屏幕,再+上你每次都睡眠一秒,

并不是卡住了只是需要把缓冲区添满的时间太长,你让它放在那里等足够长的时间他才会

输出数据,不过时间可能要很长很长。

你把sleep(1)删掉后,因为每次不用等待一秒,而CPU运转的时间非常快,所以数据马上就

显示出来了。

而+上‘\n’缓冲区的类型就变成了行缓冲这时就变成每次输出一行,也就是每次输出一个

1或者一个2.

报错如下:

[xcb] Unknown request in queue while dequeuing

[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called

[xcb] Aborting, sorry about that.

poll_for_event:

解决:

链接库,在pro文件中

然后

参考文章: Opencv 多线程显示错误 [xcb] Unknown request in queue while dequeuing [xcb] Most likely this is a multi-thre - 从小白做起 - 博客园 (cnblogs.com)

报错:

Failed to load module "canberra-gtk-module"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8693584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存