Changeset 34 in libcf for trunk/include/cf_thread.h
- Timestamp:
- 02/05/13 11:26:59 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/cf_thread.h
r33 r34 5 5 * 6 6 * @remark 멀티스레드 및 뮤텍스 지원 7 * 8 * @section 샘플코드 9 * @code 10 11 #include "cf_thread.h" 12 13 CF_Mutex globalMutex; 14 15 CF_THREAD_RETURN CF_THREAD_CALL worker (void * arg) { 16 if (CF_Mutex_Create (&globalMutex) < 0) { 17 // error 18 } 19 20 if (CF_Mutex_Lock (&globalMutex) < 0) { // for critical section 21 // error 22 } 23 24 // critical section 25 26 if (CF_Mutex_Unlock (&globalMutex) < 0) { // for critical section 27 // error 28 } 29 30 if (CF_Mutex_Destory (&globalMutex) < 0) { 31 // error 32 } 33 } 34 35 int main (void) { 36 CF_Thread tid; 37 if (CF_Thread_Create (&tid, worker, NULL) < 0) { 38 // error 39 } 40 41 if (CF_Thread_Join (&tid) < 0) { // block 42 // error 43 } 44 45 if (CF_Thread_Release (&tid) < 0) { 46 // error 47 } 48 return 0; 49 } 50 51 * @endcode 7 52 */ 8 53 #ifndef __CF_THREAD_H__ … … 46 91 * @param callback 스레드 워커 함수 이름 47 92 * @param arg 스레드 함수로 전달할 인자 48 *49 * @code50 51 #include "cf_thread.h"52 53 CF_Mutex globalMutex;54 55 CF_THREAD_RETURN CF_THREAD_CALL worker (void * arg) {56 if (CF_Mutex_Create (&globalMutex) < 0) {57 // error58 }59 60 if (CF_Mutex_Lock (&globalMutex) < 0) { // for critical section61 // error62 }63 64 // critical section65 66 if (CF_Mutex_Unlock (&globalMutex) < 0) { // for critical section67 // error68 }69 70 if (CF_Mutex_Destory (&globalMutex) < 0) {71 // error72 }73 }74 75 int main (void) {76 CF_Thread tid;77 if (CF_Thread_Create (&tid, worker, NULL) < 0) {78 // error79 }80 81 if (CF_Thread_Join (&tid) < 0) { // block82 // error83 }84 85 if (CF_Thread_Release (&tid) < 0) {86 // error87 }88 }89 90 * @endcode91 93 */ 92 94 CF_EXPORT int
Note:
See TracChangeset
for help on using the changeset viewer.