#include<pthread.h>
#include<string.h>
#include<errno.h>
#include<stdio.h>
#include<unistd.h>
pthread_mutex_t mutex;
/*
int test_function(void)
{
//lock
do_something()
if(x) return -1
//unlock
}
在上锁后,然后下面会因为某种判断后退出,
下一次进来后,又会进行上锁,这样的死锁是因为代码逻辑不正确导致的,
也是很多新手常犯的问题。
*/
int main()
{
pthread_mutex_init(&mutex,NULL);
printf("mutex init\n");
pthread_mutex_lock(&mutex);
printf("mutex lock#1\n");
pthread_mutex_lock(&mutex);
printf("mutex lock#2\n");
pthread_mutex_unlock(&mutex);
pthread_mutex_unlock(&mutex);
pthread_mutex_destroy(&mutex);
return 0;
}
C++ 死锁
最新推荐文章于 2025-05-23 00:22:48 发布