hercool
سه شنبه 19 شهریور 1392, 22:17 عصر
سلام دوستان
برنامه ای که دارم می نویسم زمان زیادی میبره برای همین تصمیم گرفتم که از نخ ها استفاده کنم
البته به این منظور که هر نخ بتونه یک هسته cpu رو بکار بگیره تا اینطوری از بیشترین ظرفیت cpu بتونم استفاده کنم
حالا برنامه چکار می کنه از یه حلقه استفاده می کنه و مقادیر url داخل لیست ویو رو می خونه و ادرس رو با وببراوزر لود می کنه و بعد یکسری محاسبات روش انجام میده
حالا می خوام هر url به یک نخ فرستاده بشه و در اون نخ یک وب براوز ادرس رو لود وتوابع مخصوص رو اجرا کنه
به این شکل همزمان چند تا ادرس رو پردازش می کنم در چند وب براوزر
حالا کد اینه
{today=getnowdate();
for (int counurl = 0; counurl < listView1.Items.Count; counurl++)
{//start for count url
{ MessageBox.Show(listView1.Columns[0].ToString() + "\t" + listView1.TopItem); }
nowurl = listView1.TopItem.ToString();
MessageBox.Show(listView1.Items[0].SubItems[1].Text.ToString());
//
// tabdeil bad az alamat = va tabdil be int
int numbertarikh =Convert.ToInt32(spliteurl());
//check url valid
if (Convert.ToInt32(today) == numbertarikh) { continue; }
else
{
while (numbertarikh !=Convert.ToInt32( today))
{ //start of
webBrowser2.Navigate(listView1.Items[0].SubItems[0].Text.ToString()); while (webBrowser2.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
analiz(); if (state == true) { numbertarikh++; continue; }
else { splitedata(); sabtetelaat(); sabtdetail(); checkarray(); savedetaliforosh(); savedetailu(); }
numbertarikh++;
}
}
}//end of for count url
}
حالا دقیق نمی دونم چجوری از نخ ها استفاده کنم
و همچنین اینکه هر url تنها به یک نخ فرستاده بشه تا ادرسی دو بار پردازش نشه
برنامه ای که دارم می نویسم زمان زیادی میبره برای همین تصمیم گرفتم که از نخ ها استفاده کنم
البته به این منظور که هر نخ بتونه یک هسته cpu رو بکار بگیره تا اینطوری از بیشترین ظرفیت cpu بتونم استفاده کنم
حالا برنامه چکار می کنه از یه حلقه استفاده می کنه و مقادیر url داخل لیست ویو رو می خونه و ادرس رو با وببراوزر لود می کنه و بعد یکسری محاسبات روش انجام میده
حالا می خوام هر url به یک نخ فرستاده بشه و در اون نخ یک وب براوز ادرس رو لود وتوابع مخصوص رو اجرا کنه
به این شکل همزمان چند تا ادرس رو پردازش می کنم در چند وب براوزر
حالا کد اینه
{today=getnowdate();
for (int counurl = 0; counurl < listView1.Items.Count; counurl++)
{//start for count url
{ MessageBox.Show(listView1.Columns[0].ToString() + "\t" + listView1.TopItem); }
nowurl = listView1.TopItem.ToString();
MessageBox.Show(listView1.Items[0].SubItems[1].Text.ToString());
//
// tabdeil bad az alamat = va tabdil be int
int numbertarikh =Convert.ToInt32(spliteurl());
//check url valid
if (Convert.ToInt32(today) == numbertarikh) { continue; }
else
{
while (numbertarikh !=Convert.ToInt32( today))
{ //start of
webBrowser2.Navigate(listView1.Items[0].SubItems[0].Text.ToString()); while (webBrowser2.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
analiz(); if (state == true) { numbertarikh++; continue; }
else { splitedata(); sabtetelaat(); sabtdetail(); checkarray(); savedetaliforosh(); savedetailu(); }
numbertarikh++;
}
}
}//end of for count url
}
حالا دقیق نمی دونم چجوری از نخ ها استفاده کنم
و همچنین اینکه هر url تنها به یک نخ فرستاده بشه تا ادرسی دو بار پردازش نشه