일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Qt Layout
- 율동 공원
- CPU와 GPU의 차이
- The Giver 줄거리
- libsndfie
- 모바일 세미나
- 요한 성당
- 윈도우즈 7 ActiveSync
- 하버드 감정수업
- c# static
- Deep state
- CallBack
- Salva Dut
- c# lock
- PhoneIncomingCall
- 유니파이드 셰이더
- c# Monitor.Enter
- thread-unsafe
- Windows Mobile Device Center
- 자기계발 서적
- libusb
- alsa-lib
- A Long walk to Water
- 영어 원서 추천
- 영어 원서
- c# Monitor.Exit
- 윈도우 모바일 프로그래밍
- 감정수업
- overroad
- 남수단
- Today
- Total
저 하늘의 구름처럼~
lock은 thread-unsafe(안전하지 않은 스레드)코드를 안전하게 사용하고자 할때 사용한다. 즉, 동기화 처리를 할때 사용하는 구문이다. 그렇다면, thread-unsafe한 코드는 어떤 코드인가 다음 예제를 보자. static public class Division { static int num1 = 100, num2 = 5; static public void Divide() { try { if (num2 != 0) Console.WriteLine(num1 / num2); num2 = 0; } catch (Exception e) { Debug.WriteLine(string.Format("Err : {0}", e)); } } } Divide 함수가 스레드 하나의 함수에 의해 호출되면 안전하게 동작..
out 키워드는 인수를 참조로 전달하는데 사용하며 ref와 비슷하다. 하지만 ref의 경우 변수를 전달하기 전에 초기화를 반드시 해주어야 하지만 out의 경우 초기화를 하지 않아고 사용해도 된다. 하지만 out을매개변수로 사용하는 메서드 안에서는 반드시 out으로 선언된 변수에 값을 할당해 주어야만 한다. out ,ref 매개변수를 사용하려면 메서저 정의와 호출하는 메서드에 모두 out ,ref키워드를 사용해야만 한다. ref 와 out 키워드는 런타임에는 서로 다르게 취급하지만 컴파일 타임에서는 동일하게 취급한다. 그렇기 때문에 함수를 오버로딩하고자 하는 경우라면 한메서드에는 ref 인수를 사용하고 다른 메서드에는 out 메서드를 사용하는 경우 컴파일 타임에 같다고 판단하기 때문에 메서드를 오버로딩이 ..