1 Star 0 Fork 0

llongint/debug_hack

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
astall.cpp 689 Bytes
一键复制 编辑 原始数据 按行查看 历史
llongint 提交于 2021-01-11 23:56 . 增加死锁篇笔记
#include <stdlib.h>
#include <assert.h>
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
int cnt = 0;
void cnt_reset(void)
{
pthread_mutex_lock(&mutex);
cnt = 0;
pthread_mutex_unlock(&mutex);
}
void *thr(void *arg)
{
while (1)
{
pthread_mutex_lock(&mutex);
if (cnt > 2)
{
cnt_reset();
}
else
{
cnt++;
}
pthread_mutex_unlock(&mutex);
printf("%d\n", cnt);
sleep(1);
}
}
int main()
{
pthread_t tid;
pthread_create(&tid, NULL, thr, NULL);
pthread_join(tid, NULL);
return EXIT_SUCCESS;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/longlongint/debug_hack.git
git@gitee.com:longlongint/debug_hack.git
longlongint
debug_hack
debug_hack
master

搜索帮助