Thread/Windows 13

[Thread][Windows] GetExitCodeThread() 함수로 스레드가 종료되었는지 체크

http://msdn.microsoft.com/ko-kr/library/windows/desktop/ms683190(v=vs.85).aspx BOOL WINAPI GetExitCodeThread( _In_ HANDLE hThread, _Out_ LPDWORD lpExitCode ); This function returns immediately. If the specified thread has not terminated and the function succeeds, the status returned is STILL_ACTIVE. If the thread has terminated and the function succeeds, the status returned is one of the followi..

Thread/Windows 2014.09.30

[스크랩][Thread][Windows] Sleep과 SwitchToThread의 차이

원문 : http://sweeper.egloos.com/viewer/2942286 Sleep과 SwitchToThread는 얼핏보면 비슷해 보이지만, 의외로 많은 차이점이 있다.이 차이점에 대해 명확하게 정리하고 넘어가자. Sleep http://msdn.microsoft.com/en-us/library/windows/desktop/ms686298(v=vs.85).aspx 스레드는 Sleep 함수를 호출하여 일정 시간 동안 자신을 스케쥴하지 않도록 운영체제에게 명령을 내릴 수 있다. VOID Sleep(DWORD milliseconds); 이 함수를 호출하면, milliseconds 매개변수로 주어진 시간만큼 쓰레드를 일시 정지시키게 된다.Sleep 함수는 다음과 같은 특징을 가진다. 1) Sleep을 ..

Thread/Windows 2014.09.29

[Thread][Windows] DuplicateHandle

출처 : http://hongten.egloos.com/265139 서로 다른 프로세스 사이에서 커널 오브젝트를 공유하는 마지막 방법으로 DuplicateHandle() 함수를 사용하는 것이다. BOOL DuplicateHandle( HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, PHANDLE phTargetHandle, DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwOptions ); 단순히, 이 함수는 하나의 프로세스 핸들 테이블의 핸들을 다른 프로세스의 핸들 테이블로 복사한다. DuplicateHandle() 함수는 여러개의 인수를 가지고 있지만 실제로 아주..

Thread/Windows 2013.10.19

[스크랩] C/C++ volatile 키워드

출처 : http://skyul.tistory.com/337--------------------------------------------------------------------2006년 9월 마이크로소프트웨어 기고글입니다. 약 60여개의 C++ 키워드 중에 가장 사용 빈도가 낮은 키워드는 무엇일까? 정답은 volatile이다. 대부분의 C/C++ 참고 서적은 1-2줄 정도로 volatile이 컴파일러의 최적화(optimization) 막아준다고만 설명하고 있다. 또한 Java5 이후로 명확한 메모리 모델이 확립된 자바와는 달리 C/C++의 경우 volatile에 대한 명확한 표준이 없고 컴파일러마다 구현에 차이가 있다는 점도 volatile 키워드의 사용을 어렵게 하고 있다. 하지만 임베디드 시스템..

Thread/Windows 2012.10.22

[스크랩] Interlocked 함수들..

출처 : http://silita.tistory.com/10 멀티쓰레드상 한쓰레드가 메모리상에 처리 중 다른 쓰레드가 같은 메모리에 접근하지 못하도록 해야하는데 흔히 크리티컬섹션등의 동기화함수를 쓰게 됩니다. 근데 접근못하게 하는 시간을 최대한 짧게 할 수록 멀티쓰레드를 사용하는 서버의 성능이 향상되게 되죠. 그런 의미에서 쓰레드 세이프하면서 코스트 적은 숫자 증가 방법은 여러모로 활용 가능성이 높습니다. 윈도우에서는 이를 위해 Interlocked 라는 접두어를 붙인 함수를 제공하죠. 여러 기능의 함수가 많지만 우선 간단하게 4바이트 메모리에 락을 걸어 작동하는 함수들에 대해 정리를 해봤습니다. LONG InterlockedExchange( LPLONG Target, LONG Value )..

Thread/Windows 2012.10.19

[Thread] GetCurrentThread Function

스레드 내에서 현재 자신의 스레드 아이디를 구하기 위해서는 GetCurrentThreadId라는 함수를 사용하면 된다. 파라미터는 없으며, 리턴 값은 현재 실행되고 있는 스레드의 아이디를 반환해 준다. 마찬가지로 GetCurrentThread를 사용하면 현재 실행되는 스레드의 의사 핸들을 반환 받을 수 있다. Read more: http://www.jiniya.net/wp/archives/7194#ixzz29d9JwHJ2

Thread/Windows 2012.10.18
반응형