相关疑难解决方法(0)

伐木设施和Qt

您使用什么日志工具?Qt?

你选择qDebug(),qWarning(),qCritical(),qFatal()方法,还是像Log4cpp(Log4cplus等),或者一些自定义代码?

c++ logging qt

22
推荐指数
4
解决办法
3万
查看次数

Qt文档和重入

Qt文档说明了线程安全性和重入性:

注意:如果Qt类打算由多个线程使用,则它们仅记录为线程安全的.如果函数未标记为线程安全或可重入,则不应在不同的线程中使用它.如果某个类未标记为线程安全或可重入,则不应从不同的线程访问该类的特定实例.

这似乎表明Qt中的每个函数和类都应该被认为是非重入和非线程安全的,除非明确说明.

但是,在文档中,QRect并且QPoint,例如,既没有提到线程安全性也没有提及重入性,但我发现很难相信它们不是.事实上,这个旧的讨论说它在文档中"缺乏":

这些类只是普通数据(一些原语),没有共享的结构化或静态数据,因此它们是可重入的.它们没有标记,我们的文档缺乏.

那么,我们应该如何知道某个函数是否可以重入?重入笔记是否仅为简单类省略,其显而易见性暗示了它?

c++ qt reentrancy

17
推荐指数
1
解决办法
553
查看次数

MSVCRT的fprintf()线程的实现安全吗?

似乎glibc的fprintf()实现是线程安全的,但对于微软的CRT来说也是如此吗?

通过线程安全,我并不仅仅意味着崩溃,而且如果多个线程(在同一个进程中)调用fprintf(),文本将不会混合.

也就是说,例如,如果线程A调用fprintf(stdout, "aaaa");并且线程B调用fprintf(stdout, "bbbb");它,则保证不会混合成为aabbaabb.

有这样的保证吗?

c printf multithreading msvcrt

6
推荐指数
1
解决办法
1611
查看次数

标签 统计

c++ ×2

qt ×2

c ×1

logging ×1

msvcrt ×1

multithreading ×1

printf ×1

reentrancy ×1