using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Runtime.CompilerServices; namespace ConsoleApplication1 { class Program { static System.Threading.Thread sender; static DataSender dataSender; static void Main(string[] args) { dataSender = new DataSender(); var dataSender2 = new DataSender(); var dataSender3 = new DataSender(); var dataSender4 = new DataSender(); sender = new System.Threading.Thread(dataSender.StartSending2); sender.IsBackground = true; sender.Start(); sender = new System.Threading.Thread(dataSender2.StartSending2); sender.IsBackground = true; sender.Start(); sender = new System.Threading.Thread(dataSender3.StartSending2); sender.IsBackground = true; sender.Start(); Console.ReadKey(); } } class SnderEvrgs : EventArgs { public SnderEvrgs() { } } class DataSender { private static string IP = "127.0.0.1"; public static int Port = 20100; static bool issending = true; public static event EventHandler<SnderEvrgs> DataSent; public void StartSending1() { while (issending) { System.Net.Sockets.UdpClient _sockMain = new System.Net.Sockets.UdpClient(IP, Port); byte[] arr_bData = new byte[] { 1, 1, 1, 1, 1 }; Console.WriteLine(DateTime.Now); for (int i = 0; i < 100000000; i++) { } } } static AutoResetEvent abc = new AutoResetEvent(false); Thread newthread; public void StartSending2() { while (issending) { newthread = new Thread(sendData); newthread.IsBackground = true; newthread.Priority = ThreadPriority.Lowest; newthread.Start(); abc.WaitOne(); } } object abca = new object(); [MethodImplAttribute(MethodImplOptions.Synchronized)] public void sendData() { lock (abca) { System.Net.Sockets.UdpClient _sockMain = new System.Net.Sockets.UdpClient(IP, Port); byte[] arr_bData = new byte[] { 1, 1, 1, 1, 1 }; Console.WriteLine(DateTime.Now); if (_sockMain.Send(arr_bData, arr_bData.Length) == arr_bData.Length) ; { for (int i = 0; i < 1000000000; i++) { } abc.Set(); } } } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)