Ich habe zwei Threads in C# .. Jetzt muss ich warten, dass eine bestimmte Anweisung ausgeführt wird, bevor ich die Ausführung im anderen Thread fortsetzen kann, was offensichtlich ein Fall der Synchronisation ist. Gibt es einen Code, der dies ausführen kann, wie bei der Verwendung einer eingebauten Methode?Synchronisation von zwei Threads
Dies ist das Code-Beispiel:
public void StartAccept()
{
try
{
newSock.BeginAccept(new AsyncCallback(Accepted), newSock);
}
catch (ArgumentException)
{
MessageBox.Show("Error in arguments while using begin-accept", "Error", MessageBoxButtons.OK);
}
catch (ObjectDisposedException)
{
MessageBox.Show("socket closed while using begin-accept", "Error", MessageBoxButtons.OK);
}
catch (SocketException)
{
MessageBox.Show("Error accessing socket while using begin-accept", "Error", MessageBoxButtons.OK);
}
catch (InvalidOperationException)
{
MessageBox.Show("Invalid operation while using begin-accept", "Error", MessageBoxButtons.OK);
}
catch (Exception)
{
MessageBox.Show("Exception occurred while using begin-accept", "Error", MessageBoxButtons.OK);
}
}
Dieser empfängt Daten von dem gewünschten Wirt, der durch den Code ausgewählt wird:
private void listBox1_Click(object sender, EventArgs e)
{
String data = (String)this.listBox1.SelectedItem;
ip = Dns.GetHostAddresses(data);
clientIP = new IPEndPoint(ip[0], 5555);
newSock.Bind(clientIP);
newSock.Listen(100);
}
So, um den Empfang von Daten zu starten I der Initialisierung muß Socket zu dem bestimmten Remote-Host, der ausgeführt wird, wenn ich auf einen der in der Listbox angezeigten Hosts klicke. Dafür brauche ich die Synchronisation.
Apologies Das hatte ich in der Frage vermisst. –