레이블이 Resume인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Resume인 게시물을 표시합니다. 모든 게시물 표시

2022년 2월 24일 목요일

C# 스레드(Thread), HelloWorld, ThreadStart, ParameterizedThreadStart 동영상

 

C# 쓰레드 중단 / 재시작 (Suspend, Resume)


http://ojc.asia/bbs/board.php?bo_table=LecCsharp&wr_id=425 


[동영상]C# 쓰레드(Thread) 중단 / 재시작 Suspend, Resume

[동영상]C# 쓰레드(Thread) 중단 / 재시작 Suspend, ResumeC# Thread중단 / 재시작Suspend, Resume쓰레드 중단 / 재시작 (Suspend, Resume)쓰레드를 쉬게 하는 방법은 Thread.Suspend를 이용할 수도 있다. Sleep과의 차이는

ojc.asia


https://www.youtube.com/watch?v=-0lJyIjwl3s&list=PLxU-iZCqT52DJyR6gqJy0MCL8RiTVXdos&index=28 

쓰레드를 쉬게 하는 방법은 Thread.Suspend를 이용할 수도 있다. Sleep과의 차이는 Sleep인 경우에는 지정한 시간 만큼 쉰다는 의미지만 Suspend인 경우에는 Resume 메소드를 호출할 때까지 쉬게 된다는 것이다. 또 다른 차이점은 Sleep 메소드는 현재 쓰레드를 일시중지하게 하는 정적 메소드로 자기 자신의 쓰레드만 쉬게 할 수 있다. 반면에 Suspend 는 자기 뿐 아니라 다른 쓰레드도 쉬게 할 수 있다. Suspend로 잠을 자고 있는 Thread가 스스로 깰 수는 없다. 그래서 Suspend로 쉬고 있는  쓰레드는 다른  쓰레드가 Resume을 이용하여 깨울 때 까지 쉬고 있는 것이다. 주의할 점은 Sleep인 경우는 쓰레드가 즉시 중단 되지만 Suspend로 쉬게하면 중단해도 되는 안전한 상황까지 즉시 중단 되지 않을 수도 있다.


Suspend 메소드로 쓰레드를 잠시 중지하면 Resume 메소드로 다시 동작하게 할 수 있지만 Thread.Abort로 일단 쓰레드를 종료시키면 다시 되살릴 수 없다.


using System;

using System.Threading;

public class Test

{

    public bool sleep = false;


    public void First()

    {

        for (int i = 0; i < 10; i++)

        {

            //1.5초 동안 쉬면서 F0, F1, ..., F5까지 출력하고 쉼

            Thread.Sleep(1500);

            Console.WriteLine("F{0}", i);


            if (i == 5)

            {

                sleep = true;

                Console.WriteLine("");

                Console.WriteLine("first 쉼...");

                Thread.CurrentThread.Suspend();

            }

        }

    }


    public static void Main()

    {

        Test t = new Test();


        Thread first = new Thread(new ThreadStart(t.First));

        first.Start();



        //메인이 아래에서 대기 합니다.

        //쓰레드가 실행하는 First 메서드에서 i가 5가 되면 쉬면서 sleep을 true로 만드는데, 그때까지 쉼, 6초 동안 쉼

        while (t.sleep == false) { }


        Console.WriteLine("first를 깨웁니다...2초후 깨어 납니다.");


        //2초동안 메인이 대기

        Thread.Sleep(2000);


        //쓰레드를 깨움, i가 5가되고 2초 후 쓰레드 재시작

        first.Resume();

    }

}





#시샵동영상, #닷넷쓰레드, #hread, #Suspend, #Resume, #시샵교육, #닷넷교육, #닷넷동영상, #시샵쓰레드, #스레드,시샵동영상, 닷넷쓰레드, hread, Suspend, Resume, 시샵교육, 닷넷교육, 닷넷동영상, 시샵쓰레드, 스레드,  

 #시샵동영상#닷넷쓰레드#hread#Suspend#Resume#시샵교육#닷넷교육#닷넷동영상#시샵쓰레드#스레드시샵동영상닷넷쓰레드hreadSuspendResume시샵교육닷넷교육닷넷동영상시샵쓰레드스레드,

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...