Пишу на Qt и заметил такую проблему - когда система не нагружена, то два потока, делающие одно и то же (только над разными данными) завершают свою работу как раз по очереди, как это и ожидается.
Но есть серьезная проблема - когда система нагружена, то поток, который начал работать позже, может завершиться раньше первого, в итоге данные другого потока уже оказываются неактуальными.
Есть ли в Qt или на уровне системы Linux возможность делать так, чтобы задействовать два ядра и более для работы алгоритма? Чтобы поток с более новыми данными не вылезал вперед потока со старыми.
Уверен, проблема стара как мир, но я вот до такого только сейчас «дорос» :)