[c#] 간단한 멀티 뜨레드, 크로스 뜨레드, 인보크 예제

private void button1_Click(object sender, EventArgs e)
{
    Task.Factory.StartNew(task);

    void task()
    {
        label1.Invoke(testDelegate);

        void testDelegate()
        {
            label1.Text = "a";
        }
    }
}

위 예제는 뜨레드를 새로 만들어서 래이블에 문자를 출력하는 거다.

TaskFactory.StartNew를 이용하여 새로운 뜨레드를 만들고 실행한다. Control.Invoke를 이용하여 새로 생긴 뜨레드에서 크로스 뜨레드 오류를 피하여 매인 뜨레드에서 만들어진 래이블에 문자를 출력한다.