///////////////////////// 멀티 스레드 ///////////////////////////
using System;
using System.Threading;
class threadtest
{
static void ThreadProc()
{
for (int i = 0; i < 100; i++)
{
Console.WriteLine(i);
Thread.Sleep(500);
}
Console.WriteLine("작업스레드종료");
}
static void Main()
{
Thread T = new Thread(new ThreadStart(ThreadProc));
T.Start();
for (;;)
{
ConsoleKeyInfo cki;
cki = Console.ReadKey();
if(cki.Key == ConsoleKey.A)
{
Console.Beep();
}
if(cki.Key == ConsoleKey.B)
{
T.Abort();
break;
}
}
Console.WriteLine("주 스레드 종료");
}
}
///////////////////////////////// 스레드 Thread lock ////////////////////////
using System;
using System.Threading;
class Site
{
public string name;
public Site(string aname)
{
this.name = aname;
}
}
class test
{
private static Site site = new Site("www.winapi.co.kr");
static void ThreadProc()
{
for (int i = 0; i < 100; i++)
{
lock (site)
{
Console.SetCursorPosition(0, 0);
Console.WriteLine("{0}에서{1}다운로드중", site.name, i);
}
Thread.Sleep(100);
}
}
static void DoSomething()
{
string old = site.name;
site.name = "www.loseapi.co.kr";
for (int i = 0; i < 100; i++)
{
Console.SetCursorPosition(0,1);
Console.WriteLine("{0}{1}",site.name , i);
Thread.Sleep(150);
}
site.name = old;
}
static void Main()
{
Thread T = new Thread(new ThreadStart(ThreadProc));
T.Start();
Thread.Sleep(2000);
lock(site)
{
DoSomething();
}
}
}
'Writer > WarmingUp Code' 카테고리의 다른 글
워밍업 코드 클래스 (0) | 2008.12.23 |
---|---|
C# ADO.NET 접속 Console접속 SELECT ,UPDATE (0) | 2008.11.12 |
ADO.NET 접속 (0) | 2008.10.29 |
메모장 만들기(MDI)포함 (0) | 2008.10.29 |
C# 객체생성과제 (0) | 2008.10.20 |
C# 과제 (0) | 2008.10.17 |
abstract interface (0) | 2008.10.15 |
델리게이트 이벤트 소스 노가다 2 (0) | 2008.10.14 |