2020. 11. 27. 20:07ใ์ ๊ณต ๊ณผ๋ชฉ/์๋์ฐ ํ๋ก๊ทธ๋๋ฐ
C# - ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ (์ค๋ ๋)
์ค๋ ๋
- ํ๋ก๊ทธ๋จ ๋ด๋ถ์ ์๋ ์ ์ด์ ๋จ์ผ ์์ฐจ ํ๋ฆ.
๋จ์ผ ์ค๋ ๋ vs ๋ฉํฐ ์ค๋ ๋
- ๋จ์ผ ์ค๋ ๋๋ ํ, ๊ณต์ ๋ฐ์ดํฐ, ์ฝ๋, ์คํ, ๋ ์ง์คํฐ๊ฐ ํ๋๋ง ์๋ ๊ตฌ์กฐ์ด๊ณ ,
๋ฉํฐ ์ค๋ ๋๋ ํ, ๊ณต์ ๋ฐ์ดํฐ, ์ฝ๋, ๋ ์ง์คํฐ๋ ํ๋์ง๋ง, ์คํ์ด ์ฌ๋ฌ๊ฐ์ด๋ฉฐ ์ํ์ ๋ณด๊ฐ ์ฌ๋ฌ๊ฐ์ธ ๊ฒ์ ์๋ฏธํ๋ค.
์ค๋ ๋ ์์
using System;
using System.Threading;
class SimpleThreadApp {
static void ThreadBody()
{
for (int i =0; i<5; i++)
{
Console.WriteLine(DateTime.Now.Second+":" +i);
Thread.Sleep(1000);
}
}
public class Program
{
public static void Main(string[] args)
{
ThreadStart ts = new ThreadStart(ThreadBody);
Thread t = new Thread(ts);
Console.WriteLine("***Start of Main");
t.Start();
Console.WriteLine("***End of Main");
}
}
}
๊ฒฐ๊ณผ ํ๋ฉด
- Sleep์ ์ง์ ํ ์๊ฐ ๋์ ์คํ์ ๋ฉ์ถ๊ณ ๋๊ธฐ ์ํ๋ก ๊ฐ๋ ๊ฒ์ด๋ค. 1000์ด๋ฉด 1์ด์ด๋ค.
- ์ค๋ ๋๋ ๋ฐ๋์ System.Threading์ ํด์ค์ผํ๋ค.
์ค๋ ๋ ํด๋์ค๋ฅผ ํตํด์ ํ๋กํผํฐ๋ฅผ ์ด์ฉํ ์๋ ์๋ค.
๊ทธ ์ค์์๋ Thread.Name์ ๋งค์ฐ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ ํ๋กํผํฐ ์ด๋ฏ๋ก ์์ ๋ฅผ ํตํด ๋ค๋ค๋ณด์.
using System;
using System.Threading;
class ThreadProperty {
public void ThreadBody()
{
Thread myself = Thread.CurrentThread;
for (int i = 1; i <= 3; i++)
{
Console.WriteLine("{0} is activated => {1}", myself.Name, i);
Thread.Sleep(1000);
}
}
}
public class Program
{
public static void Main(string[] args)
{
ThreadProperty obj = new ThreadProperty();
ThreadStart ts = new ThreadStart(obj.ThreadBody);
Thread t1 = new Thread(ts);
Thread t2 = new Thread(ts);
t1.Name = "Apple"; t2.Name = "Orange";
t1.Start(); t2.Start();
}
}
๊ฒฐ๊ณผ ํ๋ฉด
์ค๋ ๋์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฉ์๋๋
Start, Sleep ๋ฟ๋ง ์๋๋ผ Abort, Join, Suspend, Resume์ด ์๋ค.
Join์ ํด๋น ์ค๋ ๋์ ์คํ์ด ์ข ๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๋ฉ์๋์ด๋ฉฐ,
Abort๋ ์ค๋ ๋๋ฅผ ์ข ๋ฃ,
Suspend๋ ์ค๋ ๋๋ฅผ ๋๊ธฐ ์ํ๋ก,
Resume์ ๋๊ธฐ ์ํ ์ค๋ ๋๋ฅผ ์คํ ์ํ๋ก ๋ง๋ค์ด์ค๋ค.
'์ ๊ณต ๊ณผ๋ชฉ > ์๋์ฐ ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
C# - ๊ณ ๊ธํ๋ก๊ทธ๋๋ฐ (์์ธ) (0) | 2020.11.27 |
---|---|
C# ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ - ์ ํธ๋ฆฌ๋ทฐํธ (0) | 2020.11.27 |
C# - ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ(์ ๋ค๋ฆญ) (2) | 2020.11.27 |
C# - ํ์ ํด๋์ค์ ์ธํฐํ์ด์ค(2) (0) | 2020.11.19 |
C# - ํ์ ํด๋์ค์ ์ธํฐํ์ด์ค (0) | 2020.11.19 |