source: libcf/trunk/include/cf_thread.h@ 109

Last change on this file since 109 was 109, checked in by cheese, 11 years ago

#1 add typical data structure algorithms (linked-list / queue / stak) and rename symbol for context of each modules

File size: 1003 bytes
RevLine 
[4]1/**
[26]2 * @file cf_thread.h
3 * @author myusgun <myusgun@gmail.com>
4 *
5 * @remark 멀티스레드 및 뮤텍스 지원
6 *
[35]7 * @example thread.c
[26]8 */
[34]9#ifndef __CF_THREAD_H__
10#define __CF_THREAD_H__
11
12#include "cf_base.h"
13
[59]14/** 스레드 워커 함수 프로토타입 */
[57]15typedef int (* CF_Thread_Function) (void *);
[34]16
17/** 스레드 아이디 */
[109]18typedef void * CF_Thread_Ctx;
[34]19
20/** 뮤텍스 아이디 */
[109]21typedef void * CF_Mutex_Ctx;
[34]22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
[4]27CF_EXPORT int
[109]28CF_Thread_CreateCtx (CF_Thread_Ctx * threadID,
29 CF_Thread_Function callback,
30 void * arg);
[4]31
32CF_EXPORT int
[109]33CF_Thread_DestroyCtx (CF_Thread_Ctx * threadID);
[4]34
35CF_EXPORT int
[109]36CF_Thread_Join (CF_Thread_Ctx * threadID);
[4]37
38CF_EXPORT int
[109]39CF_Mutex_CreateCtx (CF_Mutex_Ctx * mutex);
[4]40
41CF_EXPORT int
[109]42CF_Mutex_DestoryCtx (CF_Mutex_Ctx * mutex);
[4]43
44CF_EXPORT int
[109]45CF_Mutex_Lock (CF_Mutex_Ctx * mutex);
[4]46
47CF_EXPORT int
[109]48CF_Mutex_Unlock (CF_Mutex_Ctx * mutex);
[4]49
50#ifdef __cplusplus
51}
52#endif
53
54#endif // #ifndef __CF_THREAD_H__
Note: See TracBrowser for help on using the repository browser.