Forum: PC-Programmierung Frage zu C# Application


von csharpuser (Gast)


Lesenswert?

Hi,

ich habe eine C# Application mit dieser kann ich Daten von einem 
Mikrocontroller austauschen via CAN-Bus. Um größere Datenmengen zu 
übertragen benutzte ich in C# einen Timer, der mit 5ms läuft. Zusätzlich 
habe ich aber noch einen anderen Timer der auch mit 5ms läuft. Dieser 
Timer überprüft zyklisch den Status vom Mikrocontroller. Ist es eher 
ratsam für diese C# Applicationen einen Thread und einen Background 
Thread zu verwenden oder ist meiner Vorgehensweise mit zwei Timern ok 
so?

von Auch csharpuser (Gast)


Lesenswert?

Wenn beide mit 5ms laufen, warum machst du es nicht in einem Timer?
Prinzipiell geht das so, aber du musst wissen, dass die 5ms mit hoher 
Wahrscheinlichkeit nie 5ms sein werden. Du kannst je nach Auslastung des 
PCs eher von 30-100ms ausgehen. Der normale Timer hat eine sehr niedrige 
Priorität.
Aber davon mal abgesehen: Ist es notwendig alle 5ms den Status des 
Controllers zu erfahren?

von benwilliam (Gast)


Lesenswert?

der Timer in C# erstellt doch automatisch selbst einen neuen Thread

von Auch csharpuser (Gast)


Lesenswert?

benwilliam schrieb:
> der Timer in C# erstellt doch automatisch selbst einen neuen
> Thread

Nein.
das ist ja gerade der Witz an dem "normalen" Timer. Dadurch dass der im 
gleichen Thread läuft kann man von dort aus auf die Form zugreifen.

von bluppdidupp (Gast)


Lesenswert?

Er wird vermutlich nicht System.Windows.Forms.Timer meinen, sondern eher 
z.B. System.Threading.Timer
(auch wenn mit "Timer" zumindest meiner Erfahrung nach sonst fast immer 
der Winforms-Timer gemeint ist ;D)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.