Einzelnen Beitrag anzeigen

ameise

Registriert seit: 2. Sep 2012
Ort: Trier
2 Beiträge
 
#1

Hohe CPU-Auslastung bei andauernder Abfrage

  Alt 2. Sep 2012, 12:30
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
  Mit Zitat antworten Zitat