maryam94
سه شنبه 25 فروردین 1394, 09:28 صبح
سلام دوستان من به تازگی کار با c# و ترد رو شروع کردم و برای حل یک قسمت از برنامه مشکل دارم برنامه یک عدد nبه عنوان ورودی میگیره و به همون تعداد ترد میسازه بعد هر تردn /1 ارایه رو با عدد تصادفی پر میکنه و به این صورت که هر ترد یک قسمت خاص رو پر میکنه و نقطه پایان کار یک ترد برابر با نقطه شروع کار ترد بعد میشه حالا همین قسمتی که ارایه میخاد پر بشه و بازهها رو کنترل کنم رو نمیدونم چیکار کنم
ممنون میشم کمک کنید.
class Program
{
int start;
int end;
static int[] Aray = new int[1000000];
public Program(int s,int e,int []array){
start= s;
end =e;
Aray= array;
}
private static Random R = new Random();
public void fill(){
int e;
int s;
s = start;
e = end;
for (int i = s; i < e; i++) {
Aray[i] = R.Next(1, 100);
}
}
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
for (int i = 0; i <n; i++) {
Aray[i] = 0;
}
Thread []threadsArray=new Thread[n];
int p=1000000 / n;
TimeSpan ts;
DateTime dt = DateTime.Now;
for (int i = 0; i < n; i++)
{
threadsArray[i].Start();
}
for (int i = 0; i < n; i++)
{
threadsArray[i].Join();
}
ts = DateTime.Now.Subtract(dt);
Console.WriteLine(ts.Hours + " : " + ts.Minutes + " : " + ts.Seconds + " : " + ts.Milliseconds);
int x = 0;
for (int i = 0; i < 1000000; i++) {
if (Aray[i]==0)
x++;
}
Console.WriteLine( " number of zeroo " + x);
}
ممنون میشم کمک کنید.
class Program
{
int start;
int end;
static int[] Aray = new int[1000000];
public Program(int s,int e,int []array){
start= s;
end =e;
Aray= array;
}
private static Random R = new Random();
public void fill(){
int e;
int s;
s = start;
e = end;
for (int i = s; i < e; i++) {
Aray[i] = R.Next(1, 100);
}
}
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
for (int i = 0; i <n; i++) {
Aray[i] = 0;
}
Thread []threadsArray=new Thread[n];
int p=1000000 / n;
TimeSpan ts;
DateTime dt = DateTime.Now;
for (int i = 0; i < n; i++)
{
threadsArray[i].Start();
}
for (int i = 0; i < n; i++)
{
threadsArray[i].Join();
}
ts = DateTime.Now.Subtract(dt);
Console.WriteLine(ts.Hours + " : " + ts.Minutes + " : " + ts.Seconds + " : " + ts.Milliseconds);
int x = 0;
for (int i = 0; i < 1000000; i++) {
if (Aray[i]==0)
x++;
}
Console.WriteLine( " number of zeroo " + x);
}