public void RunSimple(Parameters p) { SequenceCollections s = p.NodeValues; testParams = p; Console.WriteLine("Waiting before for ID : " + p.LoadPorts.ToString()); s.processcompleted.WaitOne(); { Console.WriteLine("Entered Loop for ID : "+ p.LoadPorts.ToString()); } }
private void SetNextEnum(SequenceCollections coll, int iterator) { lock (this) { int nextIterator = iterator + 1; if (nextIterator == coll.NodeList.Count) { carrieroperation = CarrierOperations.Load; } else { Node n = coll.NodeList[nextIterator]; carrieroperation = n.OperationName; } } }
public void Execute() { collection = CreateSequnce(); Parameters[] param = CreateParameters(); testArray = CreateTestObject(param); //Creation Threads and registring for test case completed events for each single test case. for (int index = 0; index < 3; index++) { Thread testCaseExecuteThread = new Thread(new ParameterizedThreadStart(ExecuteSingleTest)); testCaseExecuteThread.Start(testArray[index]); Console.WriteLine("Started RunTest "); //Sleep 5 sec before starting next thread. } Thread.Sleep(100); // testArray[2].TestParams.NodeValues.SetEkvent(); }
public void Exceute(Parameters p) { Form1 f = new Form1(); testParams = p; SequenceCollections coll = p.NodeValues; int iterator = 0; int PortID = 1; carrieroperation = CarrierOperations.Load; try { int threadid = Thread.CurrentThread.ManagedThreadId; for (iterator = 0; iterator < coll.NodeList.Count; iterator++) { lock (this) { coll.processcompleted.Reset(); PortID = coll.NodeList[iterator].LoadPortID; } switch (carrieroperation) { case CarrierOperations.Load: Console.WriteLine(threadid + " : Thread Load port ID " + coll.NodeList[iterator].LoadPortID); if (PortID == p.LoadPorts) { lock (this) { Console.WriteLine("Entered Load operation for LP:" + p.LoadPorts.ToString()); Thread.Sleep(5000); SetNextEnum(coll, iterator); coll.SetEkvent(); } } else { Console.WriteLine(threadid + " : " + "Enter (Wait) Load operation for LP:" + p.LoadPorts.ToString() + System.DateTime.Now.Second.ToString()); if (!coll.processcompleted.WaitOne()) { } Console.WriteLine(threadid + " : " + " Exit (wait) Load operation for LP:" + p.LoadPorts.ToString() + System.DateTime.Now.Second.ToString()); //Console.WriteLine(threadid + " Exited from Wait Load operation for LP:" + p.LoadPorts.ToString()); } Thread.Sleep(200); //coll.processcompleted.Set(); break; case CarrierOperations.PRJobCreate: Console.WriteLine(threadid + " : Thread Load port ID " + coll.NodeList[iterator].LoadPortID); if (PortID == p.LoadPorts) { lock (this) { Console.WriteLine("Entered PRJobCreate operation for LP:" + p.LoadPorts.ToString()); Thread.Sleep(1000); SetNextEnum(coll, iterator); coll.SetEkvent(); } } else { Console.WriteLine(threadid + " : " + "Enter (Wait) Load operation for LP:" + p.LoadPorts.ToString() + System.DateTime.Now.Second.ToString()); if (!coll.processcompleted.WaitOne()) { } Console.WriteLine(threadid + " : " + " Exit (wait) Load operation for LP:" + p.LoadPorts.ToString() + System.DateTime.Now.Second.ToString()); } Thread.Sleep(200); // coll.processcompleted.Set(); break; case CarrierOperations.CJCreate: Console.WriteLine(threadid + " : Thread Load port ID " + coll.NodeList[iterator].LoadPortID); if (PortID == p.LoadPorts) { lock (this) { Console.WriteLine("Entered CJCreate operation for LP:" + p.LoadPorts.ToString()); Thread.Sleep(1000); SetNextEnum(coll, iterator); coll.SetEkvent(); } } else { Console.WriteLine(threadid + " : " + "Enter (Wait) Load operation for LP:" + p.LoadPorts.ToString() + System.DateTime.Now.Second.ToString()); if (!coll.processcompleted.WaitOne()) { } Console.WriteLine(threadid + " : " + " Exit (wait) Load operation for LP:" + p.LoadPorts.ToString() + System.DateTime.Now.Second.ToString()); } Thread.Sleep(200); // coll.processcompleted.Set(); break; } } } catch (Exception ex) { Console.WriteLine("From Execute" + ex.Message.ToString()); } }