死锁程序
#include<unistd.h>
#include<pthread.h>
pthread_mutex_t mutex_1=PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t mutex_2=PTHREAD_MUTEX_INITIALIZER;
void *pthread_test_1(void*arg)
{
pthread_mutex_lock(&mutex_1);
sleep(1);
pthread_mutex_lock(&mutex_2);
pthread_mutex_unlock(&mutex_1);
pthread_mutex_unlock(&mutex_2);
}
void *pthread_test_2(void*arg)
{
pthread_mutex_lock(&mutex_2);
sleep(1);
pthread_mutex_lock(&mutex_1);
pthread_mutex_unlock(&mutex_2);
pthread_mutex_unlock(&mutex_1);
}
int main()
{
pthread_t th1,th2;
pthread_create(&th1,NULL,pthread_test_1,NULL);
pthread_create(&th2,NULL,pthread_test_2,NULL);
pthread_join(&th1,NULL);
pthread_join(&th2,NULL);
return 0;
}

