相关疑难解决方法(0)

是否可以确定持有互斥锁的线程?

首先,我使用pthread库编写多线程C程序.线程总是被等待的互斥锁挂起.当我使用strace实用程序查找线程处于FUTEX_WAIT状态时,我想知道当时哪个线程持有该互斥锁.但我不知道怎么能做到.有没有公​​用事业可以做到这一点?

有人告诉我Java虚拟机支持这个,所以我想知道Linux是否支持这个功能.

c linux multithreading mutex pthreads

63
推荐指数
2
解决办法
5万
查看次数

什么是 __lll_lock_wait_private 以及调用 malloc_consolidate 时什么会导致挂起?

我使用了 2 个线程,但它们陷入了以下堆栈跟踪:

话题2:

(gdb) bt
#0 0x00007f9e1d7625bc in __lll_lock_wait_private () from /lib64/libc.so.6
#1 0x00007f9e1d6deb35 in _L_lock_17166 () from /lib64/libc.so.6
#2 0x00007f9e1d6dbb73 in malloc () from /lib64/libc.so.6
#3 0x00007f9e1d6c4bad in __fopen_internal () from /lib64/libc.so.6
#4 0x00007f9e1dda2210 in std::__basic_file<char>::open(char const*, std::_Ios_Openmode, int) () from /lib64/libstdc++.so.6
#5 0x00007f9e1dddd5ba in std::basic_filebuf<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode) () from /lib64/libstdc++.so.6
#6 0x00000000005e1244 in fatalSignalHandler(int, siginfo*, void*) ()
#7 <signal handler called>
#8 0x00007f9e1d6d6839 in malloc_consolidate () from /lib64/libc.so.6
#9 0x00007f9e1d6d759e in _int_free () from /lib64/libc.so.6 …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading

1
推荐指数
1
解决办法
6112
查看次数

标签 统计

multithreading ×2

c ×1

c++ ×1

linux ×1

mutex ×1

pthreads ×1