linux环境 哲学家进餐问题

coolws123 2011-06-21 03:01:32
程序框架如下,必须在linux下编程
各位高手求助啊~~
跪求代码
#include<pthread.h>
#include<stdio.h>
#include<errno.h>
...... //声明条件变量和互斥量,以及线程共享的数据
void P( )
{
pthread_mutex_lock();
......
pthread_cond_wait( ); //等待条件变量
......
pthread_mutex_unlock();
......
}
void V()
{
pthread_mutex_lock( );
......
pthread_cond_signal( );
pthread_mutex_unlock( );
}
void *create(void *arg) //新线程执行的函数
{
int ph_no; //哲学家编号
ph_no=*(int *)arg;
......
P(ph_no);
P((ph_no+1)%5);
printf("the no %d philosopher dining\n",ph_no);
V(ph_no);
V((ph_no+1)%5);
pthread_exit(NULL);
}
main()
{
pthread_t p_thread[5]; //线程ID
int ph_no[5],ret,i; //ph_no为哲学家编号
pthread_create( ); ///创建5个哲学家线程
......
}
...全文
250 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

23,216

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧