【问题标题】:Thread safe pthread mutex lock wrappers线程安全的 pthread 互斥锁包装器
【发布时间】:2011-04-09 05:30:40
【问题描述】:

我正在编写一个操作系统抽象库,我想为它在 Linux 上为 pthread mutex 编写包装器。

这段代码应该被多个线程调用。

代码如下:

int my_lock(pthread_mutex_t *mutex)
{
    return pthread_mutex_lock(mutex);
}
  1. 函数 my_lock 也将是线程安全的吗?
  2. 如果不是,如何使它成为线程安全的?

【问题讨论】:

    标签: function locking thread-safety posix mutex


    【解决方案1】:

    这是您作为函数发布的内容:

    int my_lock(pthread_mutex_t *mutex) 
    { 
        return pthread_mutex_lock(mutex); 
    }
    

    为什么你还需要这里的函数?

    正如您所展示的那样,代码是线程安全的。

    【讨论】:

      【解决方案2】:

      它看起来像一个嵌套函数调用.. 它可以直接在例程中使用,而不是返回 pthread_mutex_lock。这将减少执行时间,避免指令从一个函数跳转到另一个函数。

      【讨论】:

        猜你喜欢
        • 2012-06-05
        • 2013-08-31
        • 2011-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多