private void UserCreatedThreadPoolSample() { int maxPrimeNum = 10000; int iFirstHalfStart = 1; int iFirstHalfEnd = maxPrimeNum / 2; int iSecondHalfStart = iFirstHalfEnd + 1; int iSecondHalfEnd = maxPrimeNum; int countPrime = 0; long st = DateTime.Now.Ticks; waitableasync firstHalf = new waitableasync(delegate { for (int i = iFirstHalfStart; i <= iFirstHalfEnd; i++) { bool isPrime = true; for (int j = 2; j <= (i / 2); j++) { if ((i % j) == 0) { isPrime = false; break; } } if (isPrime == true) { Interlocked.Increment(ref countPrime); } } }, _myThreadPool); waitableasync secondHalf = new waitableasync(delegate { for (int i = iSecondHalfStart; i <= iSecondHalfEnd; i++) { bool isPrime = true; for (int j = 2; j <= (i / 2); j++) { if ((i % j) == 0) { isPrime = false; break; } } if (isPrime == true) { Interlocked.Increment(ref countPrime); } } }, _myThreadPool); firstHalf.Wait(-1); secondHalf.Wait(-1); long et = DateTime.Now.Ticks; MessageBox.Show(string.Format("Prime count: {0}, Total time: {1}", countPrime, ((et - st) / 10000).ToString())); }
private void WaitableAsyncSample() { SqlConnection con = new SqlConnection("server=.;database=AsyncTestDB;uid=sa;pwd=AdiTanuL1$"); con.Open(); waitableasync obj = new waitableasync(delegate { int age = 28; string cmdStr = string.Format("insert into Address values ('{0}',{1},'{2}')", "Name_" + age.ToString(), age, "Address_" + age.ToString()); SqlCommand cmd = new SqlCommand(cmdStr, con); cmd.ExecuteNonQuery(); }); obj.Wait(-1); MessageBox.Show("Done"); }
private void PopulateObjects( ) { if (_tblObjects == null) { _tblObjects = new DataTable(); } else { _tblObjects.Clear(); } waitableasync obj = new waitableasync(delegate { SqlCommand cmd = new SqlCommand(ResManager.GetDBScript("Script_CodeCompletionProposal"), _conn); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = cmd; adapter.Fill(_tblObjects); }); obj.Wait(-1); }
private void PopulateUsers( ) { if (_tblUsers == null) { _tblUsers = new DataTable(); } else { _tblUsers.Clear(); } waitableasync obj = new waitableasync(delegate { SqlCommand cmd = new SqlCommand(ResManager.GetDBScript("Script_GetUsers"), _conn); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = cmd; adapter.Fill(_tblUsers); }); obj.Wait(-1); _bsUsers.DataSource = _tblUsers; }