프로그래밍/C++
[Windows] Critical Section 겹쳐 쓰지 마..
[Windows] Critical Section 겹쳐 쓰지 마..
2014.12.15크리티컬 섹션 안에 크리티컬 섹션 또 집어넣지 마 멍청아..... 왜 자꾸 까먹냐.... CRITICAL_SECTION mcs; // 헤더에 넣고 전역 변수로 쓸 때 static 붙여야 하는 듯.. InitializeCriticalSection(&mcs); // 쓰레드마다 혹은 파일마다 초기화 다시 해줘야 하는 듯.....맞나...... EnterCriticalSection(&mcs); LeaveCriticalSection(&mcs); 자꾸.. CRITICAL_SECTION mcs1; CRITICAL_SECTION mcs2; InitializeCriticalSection(&mcs1); InitializeCriticalSection(&mcs2); EnterCriticalSection(&mcs1); Ente..
[Windows] 쓰레드(Thread) 생성 예제
[Windows] 쓰레드(Thread) 생성 예제
2014.01.17사용되는 헤더 process.h 사용되는 함수 _beginthreadex, _endthreadex, WaitForSingleObject, GetExitCodeThread, CloseHandle, TerminateThread ? 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #include #include #include using namespace std; unsigned int __stdcall BasicThread(void* arg) { int xxx = (int)arg; int result = 0; for (in..
[Windows] 쓰레드(Thread) 생성&종료 함수
[Windows] 쓰레드(Thread) 생성&종료 함수
2014.01.17[제프리 리처의 Windows via C/C++] 6~9장 2012/02/12 16:09 from 도서리뷰/세미나후기 원래는 스터디 진도에 따라 정리하려고 했는데 많이 늦어지고 있다 ㅜㅠ… 6. 스레드의 기본 4장 프로세스와 마찬가지로 스레드의 기본적인 설명들이 자세히 들어있다. 스레드의 생성 : 새로운 스레드를 생성할 수 있는 함수는 윈도우가 제공하는 CreateThread, CRT가 제공하는 _beginthread와 _beginthreadex 이렇게 세가지의 선택이 있다. CreateThread를 바로 호출하면 CRT에서 사용하는 코드의 초기화 처리가 되지 않기 때문에 _beginthreadex를 써야 한다(226p). 그리고 이전 버전의 함수인 _beginthread는 절대 사용하지 말라고 되어 있..
[Windows] 쓰레드(Thread) 생성 함수 - CreateThread, _beginthreadex
[Windows] 쓰레드(Thread) 생성 함수 - CreateThread, _beginthreadex
2014.01.17[Clip]C++ 윈도우즈 기반의 쓰레드 생성 윈도우즈는 기본적인 프로그램의 실행 단위가 쓰레드이다. 예를 들어 우리가 모니터에다가 "Hello World!" 메시지를 출력하는 간단한 프로그램을 구현했다고 해 보자. 분명히 main 함수가 있을 것이다. 컴파일하고 나서 실행하게 되면 윈도우즈 OS는 일단 프로세스를 생성한다. 그리고 프로세스 내부에 메인 쓰레드란 것을 하나 생성한다. 결론적으로는 이 쓰레드가 main 함수를 실행하게 되는것이다. 즉 프로그램의 시작점인 main을 실행하는 것은 프로세스가 아니라. 프로세스 내부에 존재 하는 쓰레드이다. 따라서 프로세스는 프로그램을 실행시키는 일의 단위라고 하기 보다는 생성된 쓰레드를 담고 있는 저장소라고 할 수 있다. 이 부분이 유닉스 계열 운영체제와의 차..
[Windows] 쓰레드(Thread) 생성 함수 - CreateThread
[Windows] 쓰레드(Thread) 생성 함수 - CreateThread
2013.12.15* CreateThread보다는 _beginthreadex를..!! 2014/01/17 - [프로그래밍 언어/C++] - [Windows] 쓰레드(Thread) 생성 함수 - CreateThread, _beginthreadex ============================== CreateThread()... 이녀석 귀찮게한다. C/C++ / Programming 2013/01/26 22:35 http://domece.blog.me/20177369583 전용뷰어 보기 MSDN에서 C++의 API에 있는 CreateThread()는 다음과 같이 정의되어있다. 나는 고생했지만 여러분들은 참고해서 쉽게쉽게 멀티스레드 프로그램을 짜기 바란다. HANDLE WINAPI CreateThread( _In_opt_..