static void ExecuteMethod(int n, int size, int testId) { ThreadPool.QueueUserWorkItem(new WaitCallback(MyHandler), null); //LatencyTesttimeTable = new DataTable(); //LatencyTesttimeTable = DataTableUtil.GetLatencyTesttimeTable(LatencyTesttimeTable); for (int t = 0; t < size; t++) { DataTable LatencyTesttimeTable; LatencyTesttimeTable = new DataTable(); LatencyTesttimeTable = DataTableUtil.GetLatencyTesttimeTable(LatencyTesttimeTable); if (_keyReaded) { Console.WriteLine("キーが押されました"); break; } var semanticLinkList = getSemanticLinkList(); //List<Task> arrayTask = new List<Task>(); //for (int i = 0; i < n; i++) //{ // int index = getRandomIndex(arrayTask.Count); // var task = Task.Run(() => ExecuteCHORALEQuery(semanticLinkList[index].Item1, // semanticLinkList[index].Item2, i, t, testId, ref LatencyTesttimeTable)); // arrayTask.Add(task); //} Parallel.For(0, n, i => { int index = getRandomIndex(semanticLinkList.Count); //var task = Task.Run(() => ExecuteCHORALEQuery(semanticLinkList[index].Item1, //semanticLinkList[index].Item2, i, t, testId, ref LatencyTesttimeTable)); ExecuteCHORALEQuery(semanticLinkList[index].Item1, semanticLinkList[index].Item2, i, t, testId, ref LatencyTesttimeTable); //arrayTask.Add(task); }); //await Task.WhenAll(arrayTask); //Console.WriteLine("before:" + LatencyTesttimeTable.Rows.Count); //Console.WriteLine(LatencyTesttimeTable.Rows[0].Field<int>(LatencyTesttimeDao.ColumnParallelNum)); //Console.WriteLine(LatencyTesttimeTable.Rows[1].Field<int>(LatencyTesttimeDao.ColumnParallelNum)); LatencyTesttimeDao.Insert(LatencyTesttimeTable); } Console.WriteLine("end."); LatencyTestDao.UpdateEndtime(DateTime.Now, testId); }
static void ExecuteTest(int parallel, int size) { DataTable LatencyTestTable = new DataTable(); LatencyTestTable = DataTableUtil.GetLatencyTestTable(LatencyTestTable); DataRow dataRow = LatencyTestTable.NewRow(); dataRow.SetField(LatencyTestDao.ColumnStartTime, DateTime.Now); Console.WriteLine(dataRow.Field <DateTime>(LatencyTestDao.ColumnStartTime)); dataRow.SetField(LatencyTestDao.ColumnParallel, parallel); dataRow.SetField(LatencyTestDao.ColumnSize, size); dataRow.SetField(LatencyTestDao.ColumnDescription, "CHORALEクエリTestVer2.3"); LatencyTestTable.Rows.Add(dataRow); LatencyTestDao.Insert(LatencyTestTable); ExecuteMethod(parallel, size, LatencyTestDao.GetMaxId()); }