Changeset 35 in libcf for trunk/include/cf_thread.h
- Timestamp:
- 02/05/13 18:18:37 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/cf_thread.h
r34 r35 6 6 * @remark 멀티스레드 및 뮤텍스 지원 7 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 8 * @example thread.c 52 9 */ 53 10 #ifndef __CF_THREAD_H__ … … 83 40 #endif 84 41 85 /**86 * 스레드를 생성87 *88 * @return 성공 시, CF_OK; 실패 시, 오류 코드89 *90 * @param threadID 스레드 아이디 주소91 * @param callback 스레드 워커 함수 이름92 * @param arg 스레드 함수로 전달할 인자93 */94 42 CF_EXPORT int 95 43 CF_Thread_Create (CF_Thread * threadID, … … 97 45 void * arg); 98 46 99 /**100 * 스레드 아이디를 해제101 *102 * @return 성공 시, CF_OK; 실패 시, 오류 코드103 *104 * @param threadID 스레드 아이디 주소105 *106 * @remark 스레드 아이디를 해제하는 것이며 워커 스레드가 종료되지 않음107 */108 47 CF_EXPORT int 109 48 CF_Thread_Release (CF_Thread * threadID); 110 49 111 /**112 * 스레드가 종료될 때 까지 대기113 *114 * @return CF_OK 반환115 *116 * @param threadID 스레드 아이디 주소117 */118 50 CF_EXPORT int 119 51 CF_Thread_Join (CF_Thread * threadID); 120 52 121 /**122 * 뮤텍스 생성123 *124 * @return 성공 시, CF_OK; 실패 시, 오류 코드125 *126 * @param mutex 뮤텍스 아이디 주소127 *128 * @see CF_Thread_Create129 */130 53 CF_EXPORT int 131 54 CF_Mutex_Create (CF_Mutex * mutex); 132 55 133 /**134 * 뮤텍스 해제135 *136 * @return 성공 시, CF_OK; 실패 시, 오류 코드137 *138 * @param mutex 뮤텍스 아이디 주소139 */140 56 CF_EXPORT int 141 57 CF_Mutex_Destory (CF_Mutex * mutex); 142 58 143 /**144 * 뮤텍스 잠금145 *146 * @return 성공 시, CF_OK; 실패 시, 오류 코드147 *148 * @param mutex 뮤텍스 아이디 주소149 */150 59 CF_EXPORT int 151 60 CF_Mutex_Lock (CF_Mutex * mutex); 152 61 153 /**154 * 뮤텍스 잠금 해제155 *156 * @return 성공 시, CF_OK; 실패 시, 오류 코드157 *158 * @param mutex 뮤텍스 아이디 주소159 */160 62 CF_EXPORT int 161 63 CF_Mutex_Unlock (CF_Mutex * mutex);
Note:
See TracChangeset
for help on using the changeset viewer.