AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schleifenabbruch durch Esc Taste...

Ein Thema von Codix32 · begonnen am 1. Nov 2014 · letzter Beitrag vom 9. Nov 2014
 
Dejan Vu
(Gast)

n/a Beiträge
 
#20

AW: Schleifenabbruch durch Esc Taste...

  Alt 7. Nov 2014, 12:12
Eigendlich sollte kein Thread in der Lage sein, irgendeinen anderen durch eine Schleife zu "blockieren" (abgesehen von welchen mit niedriger Priorität). Dafür sorgt das Betriebssystem.
Soweit ich mich erinnere, muss der Thread schon selber Bescheid geben, wenn er unterbrochen werden könnte, meist durch API-Aufrufe. Eine Endlosschleife ohne Sleep wird nie Bescheid geben, das jemand Anderes auch mal ran darf, zumindest ein Kern ist dann ausgelastet. Hier sollte jedoch ein Sleep(0) auch reichen. Immerhin könnte es ein, das Sleep(1) 18ms lang wartet, weiß ich jetzt aber nicht mehr so genau.
Jeder Thread bekommt vom System ein "Fenster" von paar Millisekunden, in dem es einen Kern nutzen kann, bevor Windows den Kern für den nächsten Thread freimacht....Bei einer 1-Kern-CPU kann man mit einem Thread ja problemlos alles lahmlegen. -> genausoviel/mehr Aufgaben (ala arbeitende Threads), als Arbeiter (Kerne)
Wie passt das zusammen? Also entweder habe ich einen Scheduler, der per Interrupt den Thread unterbricht, dann kann ein Thread nix lahmlegen, oder ich habe einen Scheduler, der nur Prozesse unterbricht, aber keine Threads. Dann kann der Thread den Prozess lahmlegen.

Soweit ich weiß, unterbricht Windows die Threads nicht selbst, sondern nur die Prozesse...
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz