1 / 12
文档名称:

操作系统实验报告.docx

格式:docx   大小:437KB   页数:12页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统实验报告.docx

上传人:学然后知不足 2022/7/31 文件大小:437 KB

下载得到文件列表

操作系统实验报告.docx

相关文档

文档介绍

文档介绍:Last updated at 10:00 am on 25th December 2020
操作系统实验报告
操作系统实验报告
实验名称: 线程控制实验
计算机科学与技术学院
目录
一、实验目的和要求
float time;
struct timeval start;
struct timeval end;
gettimeofday(&start,NULL);
result=pthread_create(&p,NULL,ADD,NULL);
if(result!=0)
{
printf("Create Thread of ADD Failure\n");
exit(-1);
}
pthread_join(p,NULL);
gettimeofday(&end,NULL);
time = ((float) - *1000000+(float)
- )/1000000;
printf("Signal_Thread_Sum:%.4f\n",SUM);
printf("Signal_Thread_Execution_Time:%.4fs(sleep 4 sec)\n",time);
return 0;
}
/*************************
*FileName:
*Author:wangtao
*Date:2013/11/22
***************************/
#include <>
#include <>
#include <>
#include <>
#include <sys/>
#define LOOP 25000
pthread_mutex_t mutex;
float SUM=0;
void ADD(int * k)
{
int i;
srand(time(NULL));
for(i=0;i<LOOP;i++)
{
pthread_mutex_lock(&mutex);
SUM += (float)((float)rand()/RAND_MAX);
pthread_mutex_unlock(&mutex);
}
printf("pthread%d:%.4f\n",*k,SUM);
sleep(1);
}
int main(void)
{
pthread_t p1,p2,p3,p4;
int result1,result2,result3,result4;
int k1=1,k2=2,k3=3,k4=4;
struct timeval start;
struct timeval end;
float time;
gettimeofday(&start,NULL);
pthread_mutex_init(&mutex,NULL);
result1=pthread_create(&p1,NULL,(void*)ADD,&k1);
result2=pthread_create(&p2,NULL,(void*)ADD,&k2);
result3=pthread_create(&p3,NULL,(void*)ADD,&k3);
result4=pthread_create(&p4,NULL,(void*)ADD,&k4);
if(result1!=0||result2!=0||result3!=0||result4!=0)
{
printf("Create Child Thread Failure!\n");
exit(1);
}
pthread_join(p1,NULL);
pthread_join(p2,NULL);
pthread_join(p3,NULL);
pthread_join(p4,NULL);
gettimeofday(&end,NULL);
time = ((float) - *1000000 + (float) - )/1000000;
printf("SUM = %.4f\n",SUM);
printf("Multi_thread_time = %.4