PDA

View Full Version : کمک در حل مسله جهت پردازش همروند در سی شارپ



armiya
پنج شنبه 21 شهریور 1392, 15:12 عصر
با سلام خدمت دوستان :
البته من مطلبی در این رابطه پیدا نکردم که تاپیک زدم و امیدوارم دوستان تو حل مسله بمن کمک کنن چون خیلی برام مهمه و زیاد وقتی ندارم ممنون میشم کمک کنید :
ببنید من یه گراف دارم که این گراف رو مثه یه ماتریس مجاورت دیدم تو این گراف یه سری نودهای تگ صفر و یکسری نود تگ 1 دارند در ضمن گراف من جهتداره. من می خوام تمام نودهای صفر همزمان باهم فعال بشن و براساس نودهای 1 ورودی به همون نود صفر یکسری محاسبات انجام بدند . یک متغیری هم بصورت سراسری تعریف می کنم که هر نود اون رو بر یه اساسی بروز می کنه مشکلاتی که وجود داره اینه که برنامه بصورت همزمان اجرا نمیشه یعنی من اومدم ارایه ای از تسک ایجاد کردم و خواستم این رو بصورت موازی اجرای کنم که نشد .دوم اینکه نمیدوم داده اشتراکی رو چجوری چک کنم که نتیجه درستی بده .




Parallel.For(1, 6, (index) =>
{
if (S_arr[index] == 0)
{
tasks[index] = new Task<int>(() =>
{
for (int i = 0; i < 8; i++)
{
if (arr[index, i] == 1)
{
math calculation//
calc = calc + k1 - k2;
if (condition)
{

math calculation
}

}
}

return 1;
});
tasks[index].Start();

در ضمن ایده سریال نوشتن رو هم داشتم ولی زمان اجرا خیلی زیاد میشه این برنامه حتما باید موازی اجرا بشه.