Für pThreads die Priorität nach Thread-Erzeugung nicht festgelegt, sondern durch geeignete Attribute auf Thread-Erzeugung übergeben: die Fäden Attribute gehen, wo Sie NULL
in Ihrem pthread_create()
Anruf angegeben haben. Wenn Sie die Erstellung von Threads verzögern möchten, bis der Benutzer Ihnen eine Priorität gegeben hat, können Sie ein Funktionsobjekt erstellen, das die Priorität erwartet, und beim Aufruf dieses Funktionsobjekts würden Sie den Thread starten. Natürlich müssen Sie das so erstellte Objekt immer noch im Auge behalten (möglicherweise unter Verwendung eines std::future<...>
- ähnlichen Objekts), um diesem Thread später beizutreten.
Beachten Sie, dass die Angabe einer Antwort nicht als Empfehlung von Thread-Prioritäten interpretiert werden sollte: Soweit ich das beurteilen kann, ist das Spielen mit Thread-Prioritäten schlecht beraten.
eine Möglichkeit, die Priorität mit dem attr Argument von pthread_create – pm100
@ PM100 einstellen können, ich weiß, wie Priorität zu setzen, ist das Problem, wie nicht Führen Sie die erstellten Threads sofort aus, aber erlauben Sie dem Benutzer, sie auszuführen oder Prioritäten zu ändern, bevor Sie –
ausführen. Suchen Sie nach Ihrem Codeabbild (BAD), das Sie mit C++ verwenden. Markieren Sie C und C++ nicht, es sei denn, es gibt einen Grund. Sie codieren in C++, markieren nur C++, danke. – Stargateur