라벨이 object인 게시물 표시

C# WPF Cross-thread problem

WFP를 이용해서 어플리케이션을 개발중이다. 예외 메시지는 "다른 스레드가 이 개체를 소유하고 있어 호출한 스레드가 해당 개체에 액세스할 수 없습니다." UI를 다른 쓰레드에서 update 할려고 하면 UI를 담당하는 쓰레드가 해당 컨트럴(객체)를 사용하고 있어 접근 할 수가 없다. 이렇게 다른 쓰레드가 사용하는 객체를 다른 쓰레드에서 접근할때 생기는 문제를 Cross-thread라고 한다. 해결방법은 새로만든 쓰레드에서 UI를 update 할때 UI쓰레드에게 할일을 위임해주면 된다. Winform에서는 Invoke 메소드를 이용하고 WPF에서는 Dispatcher.Invoke를 이용하면 된다. 예제는 구글링으로 ~ 구글링은 c# wpf cross thread 등으로 검색하면된다. http://www.google.co.kr/search?gcx=w&sourceid=chrome&ie=UTF-8&q=c%23+cross+thread+wpf+dispatch

C# 객체 생성 성능

파이프로 분리된 4개의 컬럼, 18만라인을 읽어서 List에 넣었더니... 한참걸린다. 아래를 객체생성 루프이다. GC가 일어날때를 제외하고는 struct이 훨씬 빠르다.(물론 Object의 장점은 모두 없어진다.) class Program { class MyObject { public string Col1 { set; get; } public string Col2 { set; get; } public string Col3 { set; get; } public string Col4 { set; get; } } struct MyStruct { public string Col1; public string Col2; public string Col3; public string Col4; } static void Main(string[] args) { { ArrayList mylist = new ArrayList(); DateTime p = DateTime.Now; for (int i = 0; i < 2000000; i++) { MyObject m = new MyObject(); m.Col1 = "1"; m.Col2 = "2"; m.Col3 = "3"; m.Col4 = "4"; ...