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

📄 threadpool.h

📁 Upnp开发包文件
💻 H
📖 第 1 页 / 共 2 页
字号:
/**************************************************************************** * Function: ThreadPoolAddPersistent * *  Description: *      Adds a persistent job to the thread pool. *      Job will be run as soon as possible. *      Call will block until job is scheduled. *  Parameters: *      tp - valid thread pool pointer *      ThreadPoolJob - valid thread pool job with the following fields: * *        func - ThreadFunction to run *        arg - argument to function. *        priority - priority of job. *  *  Returns: *      0 on success, nonzero on failure *      EOUTOFMEM not enough memory to add job. *      EMAXTHREADS not enough threads to add persistent job. *****************************************************************************/int ThreadPoolAddPersistent (ThreadPool*tp,  ThreadPoolJob *job,  int *jobId);/**************************************************************************** * Function: ThreadPoolGetAttr * *  Description: *      Gets the current set of attributes *      associated with the thread pool. *  Parameters: *      tp - valid thread pool pointer *      out - non null pointer to store attributes *  Returns: *      0 on success, nonzero on failure *      Always returns 0. *****************************************************************************/int ThreadPoolGetAttr(ThreadPool *tp,  ThreadPoolAttr *out);/**************************************************************************** * Function: ThreadPoolSetAttr * *  Description: *      Sets the attributes for the thread pool. *      Only affects future calculations.  *  Parameters: *      tp - valid thread pool pointer *      attr - pointer to attributes, null sets attributes to default. *  Returns: *      0 on success, nonzero on failure *      Returns INVALID_POLICY if policy can not be set. *****************************************************************************/int ThreadPoolSetAttr(ThreadPool *tp,  ThreadPoolAttr *attr);/**************************************************************************** * Function: ThreadPoolAdd * *  Description: *      Adds a job to the thread pool. *      Job will be run as soon as possible. *  Parameters: *      tp - valid thread pool pointer *      func - ThreadFunction to run *      arg - argument to function. *      priority - priority of job. *      poolid - id of job *      free_function - function to use when freeing argument  *  Returns: *      0 on success, nonzero on failure *      EOUTOFMEM if not enough memory to add job. *****************************************************************************/int ThreadPoolAdd (ThreadPool*tp,  ThreadPoolJob *job,  int *jobId);/**************************************************************************** * Function: ThreadPoolRemove * *  Description: *      Removes a job from the thread pool. *      Can only remove jobs which are not *      currently running. *  Parameters: *      tp - valid thread pool pointer *      jobid - id of job *      out - space for removed job. *  Returns: *      0 on success, nonzero on failure. *      INVALID_JOB_ID if job not found.  *****************************************************************************/int ThreadPoolRemove(ThreadPool *tp,  int jobId, ThreadPoolJob *out);/**************************************************************************** * Function: ThreadPoolShutdown * *  Description: *      Shuts the thread pool down. *      Waits for all threads to finish.  *      May block indefinitely if jobs do not *      exit. *  Parameters: *      tp - must be valid tp      *  Returns: *      0 on success, nonzero on failure *      Always returns 0. *****************************************************************************/int ThreadPoolShutdown(ThreadPool *tp);/**************************************************************************** * Function: TPJobInit * *  Description: *      Initializes thread pool job. *      Sets the priority to default defined in ThreadPool.h. *      Sets the free_routine to default defined in ThreadPool.h *  Parameters: *      ThreadPoolJob *job - must be valid thread pool attributes.     *      start_routine func - function to run, must be valid *      void * arg - argument to pass to function. *  Returns: *      Always returns 0. *****************************************************************************/int TPJobInit(ThreadPoolJob *job, start_routine func, void *arg);/**************************************************************************** * Function: TPJobSetPriority * *  Description: *      Sets the max threads for the thread pool attributes. *  Parameters: *      attr - must be valid thread pool attributes.  *      maxThreads - value to set *  Returns: *      Always returns 0. *****************************************************************************/int TPJobSetPriority(ThreadPoolJob *job, ThreadPriority priority);/**************************************************************************** * Function: TPJobSetFreeFunction * *  Description: *      Sets the max threads for the thread pool attributes. *  Parameters: *      attr - must be valid thread pool attributes.  *      maxThreads - value to set *  Returns: *      Always returns 0. *****************************************************************************/int TPJobSetFreeFunction(ThreadPoolJob *job, free_routine func);/**************************************************************************** * Function: TPAttrInit * *  Description: *      Initializes thread pool attributes. *      Sets values to defaults defined in ThreadPool.h. *  Parameters: *      attr - must be valid thread pool attributes.     *  Returns: *      Always returns 0. *****************************************************************************/int TPAttrInit(ThreadPoolAttr *attr);/**************************************************************************** * Function: TPAttrSetMaxThreads * *  Description: *      Sets the max threads for the thread pool attributes. *  Parameters: *      attr - must be valid thread pool attributes.  *      maxThreads - value to set *  Returns: *      Always returns 0. *****************************************************************************/int TPAttrSetMaxThreads(ThreadPoolAttr *attr, int maxThreads);/**************************************************************************** * Function: TPAttrSetMinThreads * *  Description: *      Sets the min threads for the thread pool attributes. *  Parameters: *      attr - must be valid thread pool attributes.  *      minThreads - value to set *  Returns: *      Always returns 0. *****************************************************************************/int TPAttrSetMinThreads(ThreadPoolAttr *attr, int minThreads);/**************************************************************************** * Function: TPAttrSetIdleTime * *  Description: *      Sets the idle time for the thread pool attributes. *  Parameters: *      attr - must be valid thread pool attributes.     *  Returns: *      Always returns 0. *****************************************************************************/int TPAttrSetIdleTime(ThreadPoolAttr *attr, int idleTime);/**************************************************************************** * Function: TPAttrSetJobsPerThread * *  Description: *      Sets the jobs per thread ratio *  Parameters: *      attr - must be valid thread pool attributes. *      jobsPerThread - number of jobs per thread to maintain *  Returns: *      Always returns 0. *****************************************************************************/int TPAttrSetJobsPerThread(ThreadPoolAttr *attr, int jobsPerThread);/**************************************************************************** * Function: TPAttrSetStarvationTime * *  Description: *      Sets the starvation time for the thread pool attributes. *  Parameters: *      attr - must be valid thread pool attributes.     *      int starvationTime - milliseconds *  Returns: *      Always returns 0. *****************************************************************************/int TPAttrSetStarvationTime(ThreadPoolAttr *attr, int starvationTime);/**************************************************************************** * Function: TPAttrSetSchedPolicy * *  Description: *      Sets the scheduling policy for the thread pool attributes. *  Parameters: *      attr - must be valid thread pool attributes.     *      PolicyType schedPolicy - must be a valid policy type. *  Returns: *      Always returns 0. *****************************************************************************/int TPAttrSetSchedPolicy(ThreadPoolAttr *attr, PolicyType schedPolicy);/**************************************************************************** * Function: ThreadPoolGetStats * *  Description: *      Returns various statistics about the *      thread pool. *      Only valid if STATS has been defined. *  Parameters: *      ThreadPool *tp - valid initialized threadpool     *      ThreadPoolStats *stats - valid stats, out parameter *  Returns: *      Always returns 0. *****************************************************************************/STATSONLY( EXPORT int ThreadPoolGetStats(ThreadPool *tp, ThreadPoolStats *stats););STATSONLY(EXPORT void ThreadPoolPrintStats(ThreadPoolStats *stats););#ifdef __cplusplus}#endif#endif //ThreadPool

⌨️ 快捷键说明

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