Hallo Zusammen,
ich habe folgendes Problem: Ich habe zwei Speicherprogrammierbare Steuerungen (SPS) aus denen ich aktuelle Maschinendaten lese. Diese Daten werden in einer Sekunde 300 mal bereitstellt, also exakt alle 1000/300 Millisekunden. Ich habe zwei Threads, denen jeweils ein Prozessorkern zugewiesen ist und die jeweils eine SPS abfragen. Wenn wieder neue Daten vorhanden sind, wird in der SPS ein bestimmtes Bit gesetzt, das ich andauernd abfrage:
Code:
while daten_lesen do
if bit_gesetzt then
lese_daten;
Das klappt auch alles wunderbar und genau 300 mal pro Sekunde, aber die CPU Auslastung der beiden Kerne liegt konstant bei 100%. Das muss doch auch irgendwie anders gehen!? Nach dem Lesen könnte kurz gewartet werden (zB sleep(2) oder so), aber das ist alles viel zu ungenau
Vielen Dank für die Hilfe