namespace ConsoleApp1
{
class Program
{
public static int[] number = new int[100];
static void Main(string[] args)
{
var ran = new Random(); // 기본으로 초기화 안하면 시간 이용
for (var i = 0; i
{
number[i] = 0;
}
Thread[] threadArray = new Thread;
for (int i = 0; i <= 9; i++)
{
threadArray[i] = new Thread(() =>
{
for (int j = 0; j <= 100000; j++)
{
Interlocked.Add(ref number[ran.Next(0, 100)], 1);
}
});
threadArray[i].Start();
}
while (threadArray.Any(x => x.ThreadState != ThreadState.Stopped)) // 끝날때 까지 대기
{}
StringBuilder stringBuilder = new StringBuilder();
for (var i = 0; i
{
stringBuilder.Append($"{i} : {number[i]}\n");
}
File.WriteAllText("result.dat", stringBuilder.ToString());
}
}
}
밑에서 두번째인 stringBuilder.Append($"{i} : {number[i]}\n"); 에서 오류가 뜨는데 어떻게 고쳐야할까요?
아, while밑에 {}만 있는것도 궁금해요!
C# 기준? while 이 작동되는 동안 while문이 돌아가는 쓰레드는 멈춤, 스레드를 여러개 만들어서 위 계산들을 동시에 처리하니까. 만든 쓰레드들의 모든 계산이 멈춰야 아래 코드를 실행시키겠다는 것.
ㅇㅎ 감사합니다