实验四4
2016-12-14 16:14:56 0 举报
实验四4是一项重要的科学实验,旨在通过特定的步骤和操作来验证或探索某种假设。在这个实验中,研究者可能会使用各种仪器和设备,如显微镜、分光仪等,来收集数据和观察现象。他们可能会记录实验过程中的每一个细节,以便在分析结果时能够得出准确的结论。此外,实验四4可能还需要进行多次重复,以确保结果的可靠性和一致性。总之,实验四4是一项具有挑战性和创新性的科学探索,它为我们提供了深入了解自然界规律的机会。
作者其他创作
大纲/内容
struct msg_st {\tlong int msg_type;\tchar text[BUFSIZ];}
给running赋值为0
void send()
int running = 1
send函数
Y
退出程序
定义长整型msgtype值为0
N
sem_wait(&sem2)
判断msgid是否为-1
定义字符串数组buffer[BUFSIZ]
running
定义clean函数
receive函数
删除消息队列
判断程序是否在运行
printf(\"back massage: %s\\
定义* receiver函数
将消息写入队列
退出
int msgid = -1
sem_post(&sem2)
定义msg_st data为存储消息的结构体
定义整型变量running值为1
exit(EXIT_FAILURE)
printf(\"msgsnd failed.\\")
定义名为msg_st的结构体包含长整型变量msg_type和字符串数组text[BUFSIZ]
clean函数
定义主函数
输出:Enter some text:
printf(\"you text : %s\\
创建消息队列
char buffer[BUFSIZ]
void* receiver()
semaphore.c
给信号量sem2加1
msgid == -1
void* sender()
定义receive函数
定义信号量sem1、sem2
printf(\"Enter some text: \\")
给data.msg_type赋值为1
定义* sender函数
开始
判断程序是否正在运行
从文件指针中读取一行
结束
输出:back massage:
在终端上输出:msgget failed with errno:
sem1非零时,减1
sem_post(&sem1)
给data.msg_type赋值为1
在终端输出:msgget failed with error:
复制over到data.text中
从队列中获取消息
定义int类型running=1
复制end到data.text.中
data.msg_type = 1
输出:msgsnd failed.
running = 0
定义send函数
定义int类型msgid=-1表示失败
复制buffer到data.text.中
void clean()
void receive()
sem_wait(&sem1)
输出:you text :
long int msgtype = 0
struct msg_st data
sem2不为0时,减1
定义整型变量msgid值为-1
在终端输出:msgrcv failed with errno
信号量sem1加1
int main()
0 条评论
下一页