본문 바로가기 메뉴 바로가기

쉼

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

쉼

검색하기 폼
  • 글모음 (182)
    • 아키텍처 저널 (12)
    • Software+Services (34)
    • User Experience (4)
    • OBA (2)
    • Open XML (4)
    • 프레임웍 (44)
    • 닷넷과 자바 (15)
    • 새소식 (62)
    • 사람사는 (5)
  • 방명록

쓰레드 (4)
[정리] WPF/Silverlight UI Threading 모델

애플리케이션이 구동되면서 화면 가득 정보를 채우고자 할 경우 백그라운드로 다수의 쓰레드를 만들어 서버와 통신하거나 연산 작업을 수행하는 일을 하게 되며, 일이 끝난 경우 이를 화면에 업데이트하는 것이 필요하다. 이 경우에 알아 두어야 할 것이 바로 UI 쓰레딩 모델이다. 대부분의 윈도우용 애플리케이션에서 UI 부분을 업데이트하는 쓰레드는 하나이며, 이는 WPF, Silverlight도 예외가 아니다. 한 애플리케이션 내에서 다수의 백그라운드 쓰레드를 생성하여 사용할 수 있으나, UI를 업데이트하는 쓰레드는 해당 UI 컴포넌트를 만들어낸 UI 쓰레드 하나다. 따라서 많은 쓰레드가 생성되어 백그라운드로 동시에 수행되어 업무 효율을 높일 수 있으나, 그 결과물을 화면에 반영하기 위해서는 UI 쓰레드에게 그 작..

User Experience 2008. 9. 11. 17:58
[정리] 쓰레드 동기화, 즉 공유 자원 보호

같은 인스턴스에 접근하는 모든 쓰레드는 해당 클래스의 멤버 변수로 선언된 값을 공유하기 때문에 멀티 쓰레드 애플리케이션 작성시 항상 공유 자원 보호 문제가 대두되기 마련이다. 즉 다수의 쓰레드가 동시에 한 인스턴스를 접근할 경우 해당 인스턴스의 멤버 변수에 저장되어 있는 값을 어떻게 thread-safe하게 관리할 것인가하는 문제가 발생하게 된다. 닷넷에서는 다양한 방법을 통해 동기화 문제를 유발할 수 있는 코드에의 접근을 serialize시킨다. 즉, 한번에 한 쓰레드(mutual exclusion)만이 해당 코드 블럭을 수행할 수 있게 바꾸는 방식으로 이 문제에 대한 답을 제공하고 있다. 1. Interlocked 클래스와 Monitor 클래스 한 프로세스내의 다수의 쓰레드 사이의 동기화 문제를 해결..

닷넷과 자바 2008. 8. 18. 09:23
쓰레드 생성

대부분의 경우에, 언어나 플랫폼에 상관없이 쓰레드의 동작 방식을 이해하고 이를 활용하여 멀티쓰레드 애플리케이션을 구현할 수 있을 때 그 사람을 중급 이상의 개발자로 보게된다. 닷넷 혹은 자바와 같이 managed 환경하의 개발 방식을 지원하는 경우 쓰레드를 생성하여 활용하는 것이 생각보다 쉽다. 다만 어디까지 활용할 것인가는 개발자 선택의 몫이다. 쓰레드를 논할 때 간과하는 것이 소위 말하는 green thread vs. native thread이다. OS 레벨에서 나름대로의 방식으로 생성하여 관리하는 native thread와, managed 환경 즉, CLR이나 JVM 레벨에서 제공하는 green thread가 있다. 당연하게도 green thread가 결국은 OS 레벨에서 process로 매핑이 되..

닷넷과 자바 2008. 7. 25. 09:48
쓰레드 생성과 동기화

자바와 닷넷에서의 쓰레드 모델을 살펴보자 자바의 경우, 쓰레드 생성은... java.lang.Thead를 상속받아 클래스를 정의하거나 java.lang.Runnable을 구현하는 클래스를 정의하며 클래스내에는 public void run() {} 메소드가 정의되어야 한다. 명시적으로 클래스를 만들지 않고 anonymous class 형태로 쓰레드를 생성할 수 있다. new Thread() { public void run() { ………… } }.start(); 혹은 new Thread(new Runnable() { public void run() { ……………} }).start(); 로 쓰레드를 생성하고 바로 실행시킨다. 쓰레드 동기화는... synchronized라는 키워드가 존재하여 쓰레드 간 동기화 ..

닷넷과 자바 2008. 2. 18. 11:13
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
  • [조사보고서] 클라우드를 왜 쓸까 ?
  • 모노의 미래 - Attachmate와 Xamari⋯
  • Windows Azure Appliance 사세요⋯
  • 모노의 운명은 ?
최근에 달린 댓글
  • JetBrians 국내 세미나를 준비하기 위해 설문을 ⋯
  • 귀를 기울여봐 가슴이 뛰는 소리가 들리면 네가 사랑하는⋯
  • 한바탕 폭풍이 몰아쳤었군요. ㄷㄷ; 좋은 방향으로 해결⋯
  • 정리 하느라 고생 많으셨습니다.
Total
289,263
Today
1
Yesterday
0

Blog is powered by Tistory / Designed by Tistory

티스토리툴바