본문 바로가기

Thread

[AS3 Worker] Thread Test 드디어 As3 에 Worker 라는것이 생겼다. 바로 Thread 이다. 하지만 , 방법이 조금 지저분 하다. 실행되고 있는 바이트 코드를 그대로 복제하여 ,백그라운드에서 실행하고 그 결과를 메시지 체널 형태로 주고 받는다. 정확한 Thread 의 개념 보다는 .NET 의 BackgroundWorker 쯤으로 생각하면 될듯하고 쓰레드를 직접실행할 클래스 형태가 필요하다. 아래의 ThreadManager 는 구차한 Worker 생성과정을 미리 생성하고 Thread 객체를 관리하는 매니저 역할이다. 또하나의 Worker1 클래스는 쓰레드 개체가 생성하게될 , 즉 쓰레드가 수행할 내용이다. 아래의 실험은 같은 개체를 동시에 실행 하였을때 쓰레드 블럭킹이 발생하는지 실험하는 코드이다. * ThreadManage.. 더보기
[XNA , WPF] XNA 에서 코드레벨로 WPF 생성하기 필요한 레퍼런스는 System.Windows.Presentaion System.Xaml PresentationCore PresentationFramework 이고 필요한 using 은 using System.Threading; using System.Windows; using System.Windows.Controls; 되겠다. Created with colorer-take5 library. Type 'csharp'XNA , Game1.cs 중 일부 Texture2D tex; protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); tex = Content.Load("logo2"); this.Window.T.. 더보기
[new Thread in new Form] 새로운 쓰레드 안에 새로운 윈도우폼 무작정 쓰레드를 생성하여 폼을 생성한다면... Thread t2 = new Thread(sample); t2.Start(); ... private void sample() { Form n = new Form(); n.Show(); } 바로 폼이 깜빡 거리고 만다. 해당쓰레드가 바로 죽기 때문이다.새로운 폼은 새로운 어플리케이션으로 생성해야 한다. Thread t2 = new Thread(sample); t2.Start(); ... private void sample() { //Form n = new Form(); //n.Show(); Application.Run(new Form2()); } 주의할점은 Application.Run 앞에 모든 명령이 와야 한다.해당 쓰레드는 Application을 기점으로 .. 더보기
[Simple Text Writer V0.1] 간편한 파일 쓰기 어플 간편한 파일 쓰기 어플 client code (AS3) flush 규칙! 파일경로(filePath):::내용(content) + "\n" (':::' 요걸로 파일경로와 내용을 구분합니다.) ex >> "c:\\sampleFolder\\childFolder\\content.xml" +":::" +xml.toString() +"\n"; 그냥 자기 컴퓨터에서 돌아가는 로컬용 입니다.(웹은 당연 안돌아가겠죠) 대용량은 테스트 안해봤습니다. 하루 종일 돌려보진 않았습니다. 피드백은 덧글로.. 버전업은 할수 있을지. ,, 과연 = =; 옵션도 넣고 하려 했지만.. 일을 줄이기 위해 만드는건데, 이게 더 일이 될것 같아서 딱 필요한것만 구현했습니다. 더보기
[BackGroundWorkerTEST] Sync , Async , Thread 주요 Code MSDN http://msdn.microsoft.com/ko-kr/library/system.componentmodel.backgroundworker(v=VS.90).aspx?appId=Dev10IDEF1&l=KO-KR&k=k(EHINVALIDOPERATION.WINFORMS.ILLEGALCROSSTHREADCALL);k(TargetFrameworkMoniker-".NETFRAMEWORK&k=VERSION=V3.5");k(DevLang-CSHARP)&rd=true Created with colorer-take5 library. Type 'csharp' //sync private void testCodeSync() { using (System.Net.WebClient wc = new Syst.. 더보기
[C# Thread]종료시 프로세스 죽이기 Thread 를 사용하고, 프로그램을 그냥 종료 하면 작업관리자에 프로세스가 완전히 죽지 않는 경우가 생긴다. 이때 C#의 ApplicationExit 이벤트로 처리해주어야 한다. Application.ApplicationExit += new EventHandler(Application_ApplicationExit); ///..../// void Application_ApplicationExit(object sender, EventArgs e) { try{ server.Stop(); if(clinet != null) clinet.Close(); writer.Close(); reader.Close(); serverThread.Abort(); }catch{} } 여기서 server는 TCPListener 이.. 더보기
[BeginInvoke] Delegate 로 스레드에 매개변수 전달하기 보통 스레드를 Thread t = new Thread( new ThreadStrat(Method) ); 의 형태로 사용 하는데 Method 에 매개변수를 전달하지 못한다는 제약이 있다. 그래서 delegate 의 BeginInvoke 메소드를 통해 스레드를 작성해보자. Created with colorer-take5 library. Type 'csharp' /* * SharpDevelop으로 작성��었습니다. * 사용자: jjongun * 날짜: 2010-02-04 * 시간: ��후 4:48 * */ using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using System.Thre.. 더보기