http://linux.die.net/man/3/pthread_mutex_init
如果默认互斥锁属性合适,则为宏 PTHREAD_MUTEX_INITIALIZER可用于初始化互斥锁 静态分配。效果应相当于动态 通过使用参数attr调用pthread_mutex_init()进行初始化 指定为NULL,但不执行错误检查。
我知道动态分配。 "静态分配"是什么意思?
我的问题是要理解"静态"分配。我在手册页中发布了引用,仅提供上下文。
答案 0 :(得分:3)
静态分配意味着变量是在编译时分配的,而不是在运行时分配的。在C中,这可以是文件范围的全局变量,也可以是函数中的static
变量。
这里有一个很好的概述: http://en.wikipedia.org/wiki/Static_memory_allocation
在调用函数时分配堆栈上的变量(即,没有static
关键字的函数中的局部变量),有时在递归调用函数时多次分配。因此,它们在概念上与静态内存分配(每个程序只发生一次)不同。