首页 > 编程知识 正文

linux多进程编程实例,java多线程编程实战指南

时间:2023-05-03 18:53:56 阅读:119482 作者:1313

linux操作系统-实验-linux多线程编程. docx

操作系统实验报告实验编号5实验项目名称Linux多线程编程学科名称专业,班级实验场所指导教师实验时间2015.10.13一,通过实验目的和要求本实验的学习,使学生掌握Linux多线程编程的基本方法以学生自主训练为主的开放式模式组织教学二、要求安装实验设备(软硬件环境)及Ubuntu系统的VMWare三、实验内容和程序实验内容利用Linux多线程实现主题要求的功能。 实验步骤1、根据教材实践Linux线程管理指令2,利用Linux多线程编程实现以下功能创建两个子流程: 一个子线程(生产者线程)将整数0、1、2、19顺序写入缓冲区另一个子线程(消费线程)暂停3s,然后从缓冲区读取,一次读取一个,将读取的数字从缓冲区读取父线程等待子线程2 (消费线程)的退出信息,并且在收集到该信息时,父线程返回。 四.实验结果、数据处理和工艺截图实验结果如下用gcc编译时需要增加-lpthread。 否则,会发生以下错误。 五、思维问题的多进程编程与多线程编程的区别在同一点Linux上,无论是多线程编程还是多进程编程,最终用do_fork实现不同点的父子进程变量都不会相互影响。 由于父子进程的地址空间完全分开,所以Linux上的变量地址可以完全相同,多进程编程多,多线程编程少。 多线程比多进程成本低,但性能更低的多进程是立体交通系统。 成本高,上坡下坡会消耗很多油,但不; 多线程是平面交通系统,成本低,但信号太多,总是堵车。 1、多进程子进程是父进程的副本。 子进程获取父进程的数据区域、堆和堆栈的副本。 2、多线程对进程来说是更接近执行体的概念。 可以与该进程的其他线程共享数据,但具有自己的堆栈空间和独立的执行序列。 两者都可以提高程序的同时性,提高程序的执行效率和响应时间。 3、线程和进程有使用上的优缺点,线程运行成本小,但不利于资源管理和保护; 过程正好相反。 另一方面,线程适合在5MP计算机上运行,并且进程可以在计算机之间迁移。 六、教师点评成绩签名日码includeincludeincludeincludeincludeincludecharglobe _ buffer 100; void * read _ buffer _ thread void * arg; int main int res,I; pthread_t read_thread; fori0; i20; i globe_bufferii; printf“nxianchengthreadwritebufferfinishn”sleep 3; RES pthread _ createifres0printf " readthreadcreaterror " exit 0; 步骤1; printf“waitingforreadthreadtofinish.n”RES pthread _ join read _ thread,NULL; if RES0printf“readthreadjoinfailedn”exit 0; printf“read thread xiancheng OK,have fun exit byebyen”return 0; void * read _ buffer _ thread void * arg inti,x; printf“readbufferthreadreaddatan”fori 0; i20; i xglobe_bufferi; printf“d”、x; globe_bufferi0; printf“新建覆盖”

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。