strdup函数是什么用法?在信号处理函数和多线程函数中是否能使用strdup
strdup函数是什么用法?在信号处理函数和多线程函数中是否能使用strdup
![]() |
![]() |
2023 |
![]() |
![]() |
1970 |
![]() |
![]() |
1763 |
4 |
![]() |
1718 |
5 |
![]() |
1710 |
6 |
![]() |
1701 |
7 |
![]() |
1684 |
8 |
|
1678 |
9 |
![]() |
1664 |
10 |
![]() |
1653 |
可见该函数中会申请内存,而malloc内部会有锁.一旦在信号处理函数(冲断)中调用,可能导致重入,从而引起死锁.
同时该函数时线程安全的,可以在多线程中使用,因为内部有锁,保证了不可重入.