private static void callBackMethod(IAsyncResult ar) { // Console.WriteLine("callBackMethod:"); packageDataEvent caller = ar.AsyncState as packageDataEvent; caller.EndInvoke(ar); }
void ReceiveHander(object ias) { // var w = new SpinWait(); ReadCallbackasty = new AsyncCallback(ReadCallback); packageDatacall = new packageDataEvent(packageDataHander); //MM_BeginPeriod(1); int a = 0; while (true) { try { a++; int c = weaveNetworkItems.Count; int count = (c / Partition) + 1; //getbufferdelegate[] iagbd = new getbufferdelegate[count]; //IAsyncResult[] ia = new IAsyncResult[count]; if (c > 0) { //WeaveNetWorkItems[] netlist = new WeaveNetWorkItems[c]; //weaveNetworkItems.CopyTo(0, netlist, 0, c); getbuffer(weaveNetworkItems, 0, c); //if (weaveDataType == WeaveDataTypeEnum.custom) // Thread.Sleep(5); //else DateTime dt = DateTime.Now; if (resttime > 0) { Thread.Sleep(resttime); } else { Thread.Yield(); } if (a > 500) { Thread.Sleep(1); a = 0; } DateTime dt2 = DateTime.Now; // // Console.WriteLine((dt2-dt).TotalMilliseconds); //w.SpinOnce(); } else { Thread.Sleep(1); // System.Threading.Thread.Sleep(resttime); } } catch { } // System.Threading.Thread.Sleep(1); } // MM_EndPeriod(1); }