主题:那为高手哥哥姐姐请进啊,要交作业了!!
题目一:用多线程同步方法解决生产者-消费者问题
目的:
通过研究Linux的线程机制和信号量实现生产者消费者问题的并发控制。
说明:
有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1~20这20个整型数。
要求;
(1) 每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前指针位置和生产者/消费者线程的标识符。
(2) 生产者和消费者各有两个以上。
(3) 多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。
提示:
(1)有界缓冲区可用数组实现。
(2) 编译命令可用:
cc -lpthread -o 目标文件名 源文件名
(3) 多线程编程方法参见附件。
题目二:进程控制
目的:通过联机求助和查找阅读Linux源代码,学会使用Linux系统调用,掌握进程控制原理。
要求: 在Linux系统中编写C语言程序,创建一个子进程。父进程和子进程交替运行。父进程先显示一次“Current time:”, 然后子进程每隔一秒显示一次当前系统日期和时间,共显示三次。以上过程共循环进行五次。
提示:
(1) 显示当前系统日期和时间,可利用time和 ctime等系统调用。
(2) 要查time和 ctime等系统调用的使用方法,可用键盘命令 man 2 time求助。
(3) 查找头文件,比如,time.h, 可用 find / -name time.h –print键盘命令来做。
(4) 延迟1秒用系统调用sleep。
(5) 创建子进程用系统调用fork。
目的:
通过研究Linux的线程机制和信号量实现生产者消费者问题的并发控制。
说明:
有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1~20这20个整型数。
要求;
(1) 每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前指针位置和生产者/消费者线程的标识符。
(2) 生产者和消费者各有两个以上。
(3) 多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。
提示:
(1)有界缓冲区可用数组实现。
(2) 编译命令可用:
cc -lpthread -o 目标文件名 源文件名
(3) 多线程编程方法参见附件。
题目二:进程控制
目的:通过联机求助和查找阅读Linux源代码,学会使用Linux系统调用,掌握进程控制原理。
要求: 在Linux系统中编写C语言程序,创建一个子进程。父进程和子进程交替运行。父进程先显示一次“Current time:”, 然后子进程每隔一秒显示一次当前系统日期和时间,共显示三次。以上过程共循环进行五次。
提示:
(1) 显示当前系统日期和时间,可利用time和 ctime等系统调用。
(2) 要查time和 ctime等系统调用的使用方法,可用键盘命令 man 2 time求助。
(3) 查找头文件,比如,time.h, 可用 find / -name time.h –print键盘命令来做。
(4) 延迟1秒用系统调用sleep。
(5) 创建子进程用系统调用fork。