⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pthread.h

📁 linux 下的线程库源码
💻 H
📖 第 1 页 / 共 2 页
字号:
extern int pthread_attr_getscope __P((__const pthread_attr_t *__attr,                                      int *__scope));/* Functions for scheduling control. *//* Set the scheduling parameters for TARGET_THREAD according to POLICY   and *PARAM. */extern int pthread_setschedparam __P((pthread_t __target_thread, int __policy,                                      __const struct sched_param *__param));/* Return in *POLICY and *PARAM the scheduling parameters for TARGET_THREAD. */extern int pthread_getschedparam __P((pthread_t __target_thread, int *__policy,                                      struct sched_param *__param));/* Functions for mutex handling. *//* Initialize MUTEX using attributes in *MUTEX_ATTR, or use the   default values if later is NULL.  */extern int pthread_mutex_init __P ((pthread_mutex_t *__mutex,                                    __const pthread_mutexattr_t *__mutex_attr));/* Destroy MUTEX.  */extern int pthread_mutex_destroy __P ((pthread_mutex_t *__mutex));/* Try to lock MUTEX.  */extern int pthread_mutex_trylock __P ((pthread_mutex_t *__mutex));/* Wait until lock for MUTEX becomes available and lock it.  */extern int pthread_mutex_lock __P ((pthread_mutex_t *__mutex));/* Unlock MUTEX.  */extern int pthread_mutex_unlock __P ((pthread_mutex_t *__mutex));/* Functions for handling mutex attributes.  *//* Initialize mutex attribute object ATTR with default attributes   (kind is PTHREAD_MUTEX_FAST_NP). */extern int pthread_mutexattr_init __P ((pthread_mutexattr_t *__attr));/* Destroy mutex attribute object ATTR.  */extern int pthread_mutexattr_destroy __P ((pthread_mutexattr_t *__attr));/* Set the mutex kind attribute in *ATTR to KIND (either PTHREAD_MUTEX_FAST_NP   or PTHREAD_MUTEX_RECURSIVE_NP). */extern int pthread_mutexattr_setkind_np __P ((pthread_mutexattr_t *__attr,                                              int __kind));/* Return in *KIND the mutex kind attribute in *ATTR. */extern int pthread_mutexattr_getkind_np __P ((__const pthread_mutexattr_t *__attr,                                              int *__kind));/* Functions for handling conditional variables.  *//* Initialize condition variable COND using attributes ATTR, or use   the default values if later is NULL.  */extern int pthread_cond_init __P ((pthread_cond_t *__cond,                                   __const pthread_condattr_t *__cond_attr));/* Destroy condition variable COND.  */extern int pthread_cond_destroy __P ((pthread_cond_t *__cond));/* Wake up one thread waiting for condition variable COND.  */extern int pthread_cond_signal __P ((pthread_cond_t *__cond));/* Wake up all threads waiting for condition variables COND.  */extern int pthread_cond_broadcast __P ((pthread_cond_t *__cond));/* Wait for condition variable COND to be signaled or broadcast.   MUTEX is assumed to be locked before.  */extern int pthread_cond_wait __P ((pthread_cond_t *__cond,                                   pthread_mutex_t *__mutex));/* Wait for condition variable COND to be signaled or broadcast until   ABSTIME.  MUTEX is assumed to be locked before.  ABSTIME is an   absolute time specification; zero is the beginning of the epoch   (00:00:00 GMT, January 1, 1970). */extern int pthread_cond_timedwait __P ((pthread_cond_t *__cond,                                        pthread_mutex_t *__mutex,                                        __const struct timespec *__abstime));/* Functions for handling condition variable attributes.  *//* Initialize condition variable attribute ATTR.  */extern int pthread_condattr_init __P ((pthread_condattr_t *__attr));/* Destroy condition variable attribute ATTR.  */extern int pthread_condattr_destroy __P ((pthread_condattr_t *__attr));/* Functions for handling thread-specific data *//* Create a key value identifying a location in the thread-specific data   area.  Each thread maintains a distinct thread-specific data area.   DESTR_FUNCTION, if non-NULL, is called with   the value associated to that key when the key is destroyed.   DESTR_FUNCTION is not called if the value associated is NULL   when the key is destroyed. */extern int pthread_key_create __P ((pthread_key_t *__key,                                    void (*__destr_function) (void *)));/* Destroy KEY.  */extern int pthread_key_delete __P ((pthread_key_t __key));/* Store POINTER in the thread-specific data slot identified by KEY. */extern int pthread_setspecific __P ((pthread_key_t __key,                                     __const void *__pointer));/* Return current value of the thread-specific data slot identified by KEY.  */extern void * pthread_getspecific __P ((pthread_key_t __key));/* Functions for handling initialization *//* Guarantee that the initialization function INIT_ROUTINE will be called   only once, even if pthread_once is executed several times with the   same ONCE_CONTROL argument. ONCE_CONTROL must point to a static or   extern variable initialized to PTHREAD_ONCE_INIT. */extern int pthread_once __P ((pthread_once_t *__once_control,                              void (*__init_routine) (void)));/* Functions for handling cancellation. *//* Set cancelability state of current thread to STATE, returning old   state in *OLDSTATE if OLDSTATE is not NULL.  */extern int pthread_setcancelstate __P ((int __state, int *__oldstate));/* Set cancellation state of current thread to TYPE, returning the old   type in *OLDTYPE if OLDTYPE is not NULL.  */extern int pthread_setcanceltype __P ((int __type, int *__oldtype));/* Cancel THREAD immediately or at the next possibility.  */extern int pthread_cancel __P ((pthread_t __thread));/* Test for pending cancellation for the current thread and terminate   the thread as per pthread_exit(PTHREAD_CANCELED) if it has been   cancelled. */extern void pthread_testcancel __P ((void));/* Install a cleanup handler: ROUTINE will be called with arguments ARG   when the thread is cancelled or calls pthread_exit.  ROUTINE will also   be called with arguments ARG when the matching pthread_cleanup_pop   is executed with non-zero EXECUTE argument.   pthread_cleanup_push and pthread_cleanup_pop are macros and must always   be used in matching pairs at the same nesting level of braces. */#define pthread_cleanup_push(routine,arg)                                    \  { struct _pthread_cleanup_buffer _buffer;                                  \    _pthread_cleanup_push (&_buffer, (routine), (arg));extern void _pthread_cleanup_push  __P ((struct _pthread_cleanup_buffer *__buffer,        void (*__routine) (void *), void *__arg));/* Remove a cleanup handler installed by the matching pthread_cleanup_push.   If EXECUTE is non-zero, the handler function is called. */#define pthread_cleanup_pop(execute)                                          \  _pthread_cleanup_pop (&_buffer, (execute)); }extern void _pthread_cleanup_pop  __P ((struct _pthread_cleanup_buffer *__buffer, int __execute));/* Install a cleanup handler as pthread_cleanup_push does, but also   saves the current cancellation type and set it to deferred cancellation. */#define pthread_cleanup_push_defer_np(routine,arg)                           \  { struct _pthread_cleanup_buffer _buffer;                                  \    _pthread_cleanup_push_defer (&_buffer, (routine), (arg));extern void _pthread_cleanup_push_defer  __P ((struct _pthread_cleanup_buffer *__buffer,        void (*__routine) (void *),        void *__arg));/* Remove a cleanup handler as pthread_cleanup_pop does, but also   restores the cancellation type that was in effect when the matching   pthread_cleanup_push_defer was called. */#define pthread_cleanup_pop_restore_np(execute)                               \  _pthread_cleanup_pop_restore (&_buffer, (execute)); }extern void _pthread_cleanup_pop_restore   __P ((struct _pthread_cleanup_buffer *__buffer, int __execute));/* Functions for handling signals. *//* Modify the signal mask for the calling thread.  The arguments have   the same meaning as for sigprocmask(2). */extern int pthread_sigmask __P ((int __how, __const sigset_t *__newmask,                                 sigset_t *__oldmask));/* Send signal SIGNO to the given thread. */extern int pthread_kill __P ((pthread_t __thread, int __signo));/* Suspend the calling thread until one of the signals in SET is delivered to    the thread.  Store in *SIG the number of the signal received.   The signals in SIG must not be ignored and must be blocked prior to   calling SIGWAIT. */extern int sigwait __P ((__const sigset_t *__set, int *__sig));/* Functions for handling process creation and process execution. *//* Install handlers to be called when a new process is created with FORK.   The PREPARE handler is called in the parent process just before performing   FORK. The PARENT handler is called in the parent process just after FORK.   The CHILD handler is called in the child process.  Each of the three   handlers can be NULL, meaning that no handler needs to be called at that   point.    PTHREAD_ATFORK can be called several times, in which case the PREPARE   handlers are called in LIFO order (last added with PTHREAD_ATFORK,   first called before FORK), and the PARENT and CHILD handlers are called   in FIFO (first added, first called). */extern int pthread_atfork __P ((void (*__prepare)(void),                                void (*__parent)(void),                                void (*__child)(void)));/* Terminate all threads in the program except the calling process.   Should be called just before invoking one of the exec*() functions. */extern void pthread_kill_other_threads_np __P((void));#if defined(__cplusplus)}#endif/*** Miscellaneous compatibility stuff *//* No ENOTSUP in <linux/errno.h> */#ifndef ENOTSUP#define ENOTSUP EOPNOTSUPP#endif#endif  /* pthread.h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -