프로세스, 스레드, 다중 스레드의 초보 학습
List s = obj as List;
foreach (var item in s)
{
Console.WriteLine(item);
}
}
//다중 스레드 사용static void Main(string[] args) {Thread t1 = new Thread(RunDownload), Thread t2 = new ThreadFile), t1.Start(), t2.Start(),//현재 실행 상태Console.Write Line(t1.Thread State) 가져오기;Console.WriteLine(t2.ThreadState); } static void RunDownload() {int i = 0; while(true) {Thread.Sleep(50);/Console.WriteLine(다운로드), Console.Write(i++'\t);}static void ReadFile() { while (true) { Thread.Sleep(500); Console.WriteLine(); } } //여러 스레드가 한 방법을 동시에 운행할 때 우리는 하나의 lock(this)//상호 배척 잠금이나 모니터로 잠금 현상을 해결할 때 static void Main(string[] args) {Students = new Student(), Thread t1 = new Thread(s.Run), Thread t2 = new Thread t2 = new Thread t2(s.Run), Thread t3 = new Thread Thread t3 = Runs. t1.t1.Name ='자동차 1','t1. Name t1 = 't1 ='자동차 1','t2 ='t2 =' t2, 자동차 t1, t1 = 't2, t1 =' t1 = 't1, t2, t2.Start(), t3.Start(); } class Student {public void Run() {//잠금 해제 방식 1 lock(this)//상호 배척 잠금을 해결하고 스레드 동기화 문제를 해결하며 여러 스레드가 같은 방법으로 작동할 때 잠금 {Console.WriteLine(Thread.CurreentThread.Name+"터널 통과); Thread.Sleep(2000)}////잠금 해제 방법 2//Monitor.Enter(this); //Console.WriteLine(Thread.CurrentThread.Name+터널 통과);//Thread.Sleep(2000); //Monitor.Exit(this); } } } //정적 방법이라면
static Object obj = new object(); static void Student() {lock(obj) {Console.WriteLine(Thread.Current Thread.Name+"터널 통과"), Thread.Sleep(2000),}}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
메시징 시스템 Pulsar 사용하기메시징 시스템에 대해 알아보고 찾았으므로 시도해 보겠습니다. Yahoo! Inc.가 제공하는 OSS 메시징 시스템 상주형 프로세스를 사용하여 빠른 메시징 교환이 가능하다. 아래에 알기 쉽습니다. 자세한 것은, 상기의...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.