linux进程线程管理实验报告(8)

时间:2025-07-09

进程线程,死锁实验报告

3.1找到thread.c 的代码临界区,用临界区解决main_counter 与sum 不同步的问题。

3.2阅读下列代码,回答问题:

#include<stdio.h>

#include<sys/types.h>

#include<unistd.h>

#include<ctype.h>

#include<pthread.h>

#define LOOP_TIMES 1000

pthread_mutex_t mutex1=PTHREAD_MUTEX_INITIALIZER;

pthread_mutex_t mutex2=PTHREAD_MUTEX_INITIALIZER;

void* thread_worker(void *);

void critical_section(int threadd_num,int i);

int main(int argc,char *argv[]){

int rtn,i;

pthread_t pthread_id=0;

rtn=pthread_create(&pthread_id,NULL,thread_worker,NULL);

if(rtn!=0){

printf("pthread_create ERROR!\n");

return -1;

}

for(i=0;i<LOOP_TIMES;i++){

pthread_mutex_lock(&mutex1);

pthread_mutex_lock(&mutex2);

critical_section(1,i);

pthread_mutex_unlock(&mutex2);

pthread_mutex_unlock(&mutex1);

}

pthread_mutex_destroy(&mutex1);

pthread_mutex_destroy(&mutex2);

return 0;

}

void *thread_worker(void* p){

int i;

for(i=0;i<LOOP_TIMES;i++){

pthread_mutex_lock(&mutex2);

pthread_mutex_lock(&mutex1);

critical_section(2,i);

linux进程线程管理实验报告(8).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219