| 

.NET C# Java Javascript Exception

2
Gibt es einen Weg die Programmausführung unter .NET zu pausieren, ohne die API-Funktion Sleep verwenden zu müssen?
News:
01.03.2011
Hilti 21 1 2
Was ist so schlimm an Sleep? Ob Du nun Funktion A oder Methode B benutzt, dürfte doch irrelevant sein. Oder siehst Du Seiteneffekte die mir nicht klar sind?
Jens Duczmal 01.03.2011
3 Antworten
1
Du musst nicht direkt die API-Funktion aufrufen sondern kannst die .Net-Version verwenden.

System.Threading.Thread.Sleep(1000)
01.03.2011
Floyd 14,6k 3 9
Ich komme aus der C#-Abteilung. Aber schön, wenn's in VB auch so einfach ist ;)
tb 01.03.2011
Sämtliche .Net-Funktionen stehen allen .Net-Sprache unter dem selben Namespace mit dem selben Namen zur Verfügung. Nur der Syntax ist machmal etwas anders. Hierzu einfach einmal die MSDN öffnen und sich den Beispielcode in C# und VB.Net anzeigen lassen.
Floyd 01.03.2011
Sind die kompletten "My"-Funktionen (My.Computer, etc.) aus VB dann auch in C# vorhanden? Wäre mir neu aber vielleicht hilfreich, wenn es so wäre.
tb 01.03.2011
My ist keine .Net-Funktion sondern ein Bestandteil der Sprache VB.Net. Genauso wie "this" ein Bestandteil des C#-Sprachsyntaxes ist. ABER: Ja, du kannst My.Computer unter C# verwenden wenn du den "Microsoft.VisualBasic.Devices"-Namespace und die passende DLL ("Microsoft.VisualBasic.dll") in dein C#-Proramm importierst.
Floyd 01.03.2011
0
Geht vermutlich auch weniger elegant:
Public Sub Sleep(ByVal msec As Integer)
Dim myTimer As Date
myTimer = Now.AddMilliseconds(msec)
Do While myTimer > Now
Application.DoEvents()
Loop
End Sub
01.03.2011
tb 220 3
0
Vielleicht ist die Klasse EventWaitHandle das, was du suchst?
Dim ewh As EventWaitHandle = New EventWaitHandle(False, EventResetMode.AutoReset)

Funktion "WaitOne": Blockiert den aktuellen Thread, bis die aktuelle Instanz ein Signal empfängt...
Funktion "Set": Legt den Zustand des Ereignisses auf signalisiert fest und ermöglicht so einem oder mehreren wartenden Threads fortzufahren.
01.03.2011
Fredo 575 1 9

Stelle deine .net-Frage jetzt!