如果程序运动不正常的时候,可以利用pstack看一下程序当然的状态,多次执行如下:
[tangliang]$ pstack 31859
Thread 3 (Thread 0x7f69b59d2700 (LWP 31860)):
#0 0x000000380220e264 in __lll_lock_wait () from /lib64/libpthread.so.0
#1 0x0000003802209508 in _L_lock_854 () from /lib64/libpthread.so.0
#2 0x00000038022093d7 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3 0x000000000040097e in writeTest(void*) ()
#4 0x00000038022079d1 in start_thread () from /lib64/libpthread.so.0
#5 0x0000003801ae89dd in clone () from /lib64/libc.so.6
Thread 2 (Thread 0x7f69b4fd1700 (LWP 31861)):
#0 0x000000380220e264 in __lll_lock_wait () from /lib64/libpthread.so.0
#1 0x0000003802209508 in _L_lock_854 () from /lib64/libpthread.so.0
#2 0x00000038022093d7 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3 0x0000000000400a2c in readTest(void*) ()
#4 0x00000038022079d1 in start_thread () from /lib64/libpthread.so.0
#5 0x0000003801ae89dd in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7f69b59d4720 (LWP 31859)):
#0 0x000000380220822d in pthread_join () from /lib64/libpthread.so.0
#1 0x0000000000400b13 in main ()
[tangliang]$
[tangliang]$
[tangliang]$ pstack 31859
Thread 3 (Thread 0x7f69b59d2700 (LWP 31860)):
#0 0x000000380220e264 in __lll_lock_wait () from /lib64/libpthread.so.0
#1 0x0000003802209508 in _L_lock_854 () from /lib64/libpthread.so.0
#2 0x00000038022093d7 in pthread_mutex_lock () from /lib64/libpthread.so.0
#3 0x000000000040097e in writeTest(voi