⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mutex.c

📁 linux下的多线程调试工具
💻 C
字号:
#define _XOPEN_SOURCE 600#include <pthread.h>#include <stdio.h>#include <time.h>#include "alias.h"struct timespec wait = {0, 10000000};struct timespec longwait = {0, 30000000};struct timespec rem;#define WAIT nanosleep (&wait, &rem)#define LONGWAIT nanosleep (&longwait, &rem)pthread_mutex_t mutex;FILE *fd;void *func1 () {    new_thread_alias (fd, "func1");    pthread_mutex_lock (&mutex);    LONGWAIT;    pthread_mutex_unlock (&mutex);}void *func2 () {    new_thread_alias (fd, "func2");    WAIT;    pthread_mutex_lock (&mutex);    pthread_mutex_unlock (&mutex);}int main () {    pthread_t thread1, thread2;    pthread_mutexattr_t attr;    fd = alias_init ("alias");    new_thread_alias (fd, "main");    new_object_alias (fd, &mutex, "mutex");    pthread_mutexattr_init (&attr);    pthread_mutex_init (&mutex, &attr);    pthread_create (&thread1, NULL, func1, NULL);    pthread_create (&thread2, NULL, func2, NULL);    pthread_join (thread1, NULL);    pthread_join (thread2, NULL);    pthread_mutex_destroy (&mutex);    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -