gcc 4.7.2
c89
你好使用互斥锁,关键代码
我只是想知道如何申请互斥锁下面的代码片段。
是否有任何规则应该遵循,因为我不想锁定,因为这会阻止此函数中的其他线程。因为这会让事情减缓。
我用下面的CFLAGS编译:
-Wall -Wextra -g -m32 -O2 -D_DEBUG -D_THREAD_SAFE -D_REENTRANT -D_LARGEFILE64_SOURCE
代码片断
static void* APR_THREAD_FUNC timeout_duration(apr_thread_t *thd, void *data)
{
apr_status_t rv = 0;
channel_t *channel = NULL;
/*
APPLY LOCK HERE
*/
channel = (channel_t*)data;
/* simulate some work */
apr_sleep(5000000);
LOG_INFO("Channel id [ %d ] Channel name [ %s ] Delay time [ %d ]",
channel->id,
channel->name,
(apr_int32_t)channel->delay_time);
/*
UNLOCK HERE
*/
return NULL;
}
我通过通道作为传递到输入功能的数据。但是,这不仅仅是一个副本,所以我不需要担心它?
ptr!=副本数据的副本。 –