Кажется, я получаю исключение, сгенерированное только с потоком, созданным с помощью Qtconcurrent :: run
У меня есть класс с именем FPSengine, у которого есть метод с именем FPSengine :: getData (), который вызывается основным потоком и 3 другими потоками (2 QThreads и 1, созданные с помощью QtConcurrent :: run ()). Внутри FPSengine :: getData () я вызываю QTime :: currentTime (). Если я вызываю FPSengine :: getData () из основного потока или одного из QThreads, у меня нет проблем, но когда я вызываю FPSengine :: getData () из потока, созданного с помощью Qtconcurrent :: run (), я иногда получаю исключение. Может ли быть что-то не так с Qtconcurrent или QTime: currentTime () или даже tzset (который вызывается QTime :: currentTime из того, что показывает стек gdb)?
Или что-то не так с моим кодом. Вот информация о стеке ошибочного потока:
0 рейз /lib/libc.so.6 0
1 отмена /lib/libc.so.6 0
2 ?? /lib/libc.so.6 0
3 ?? /lib/libc.so.6 0
4 свободных /lib/libc.so.6 0
5 ?? /lib/libc.so.6 0
6 tzset /lib/libc.so.6 0
7 QTime :: currentTime () /usr/lib/libQtCore.so.4 0
8 FPSengine :: xmitData FPSengine2.cpp 93
9 FPSengine :: getData FPSengine2.cpp 21
10 threadDatalog :: run threaddatalog.cpp 109
11 ?? /usr/lib/libQtCore.so.4 0
12 start_thread /lib/libpthread.so.0 0
13 клонов /lib/libc.so.6 0
14 ?? 0