首页 > 编程语言 >OS-Lab4-多线程编程基础

OS-Lab4-多线程编程基础

时间:2024-10-16 14:21:00浏览次数:6  
标签:读取数据 buf1 buf2 dat 线程 Lab4 多线程 OS

实验目的
事先编辑好数据文件1.dat和2.dat,它们的内容分别为1 2 3 4 5 6 7 8 9 10和 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10。根据示例代码和其运行效果设计一个程序,在这个程序中一共有3个线程,其中两个线程负责从文件读取数据到公共的缓冲区,另外一个线程从缓冲区读取数据作不同的处理(加和乘运算)。
具体要求:

  1. 线程1从1.dat将数据读文件读到buf1中;
  2. 线程2从2.dat 将数据读到buf2中;
  3. 当buf1,buf2有数据时,线程3将buf1和buf2的结果相加和乘法处理,并将结果显示出来;
  4. 要求分别使用互斥锁-条件变量和信号量两种方式实现。
    实验步骤:
    Task1 互斥锁
  5. 代码图:

    2.gcc运行:

    Task2 信号量
    1.代码:

    2.运行:

标签:读取数据,buf1,buf2,dat,线程,Lab4,多线程,OS
From: https://www.cnblogs.com/arm-blog/p/18469878

相关文章

  • OS-Lab2-Linux进程控制相关命令和系统调用(含gcc编程)
    实验目的1) 概念:Linux的gcc编译器2) 演示/实践:gcc编译器的初步和入门(编写一个带printf的while程序)3) 演示/实践:Linux进程控制相关的命令(如ps/pstree/top/kill/等)演示/实践:Linux进程控制相关的系统调用(如fork()/getpid()等)4) 概念:Linux的gdb调试器5) 概念:Linux的make工具及其Makefi......
  • VOSK实现语音输出
    以下代码读取麦克风输入并输出中文:#encoding:utf-8importwaveimporttimeimportjsonimportthreadingfromvoskimportModel,KaldiRecognizer,SetLogLevel#禁止日志输出SetLogLevel(-1)model_path="models/vosk-model-cn-0.1"model=Model(model_path)defre......
  • OS-Lab1-Linux的常见命令和Shell脚本编程
    Lab1:Linux常见命令的基本使用和总结:如ls、cd、mkdir、torch、rm、mv、clear、grep、find、cat、shutdown等。Lab2:Linux常见命令的应用案例:下面的步骤,通过相关的Linux命令,完成指定步骤的操作Lab3:VMware的Host(如Windows系统)与Guest(如UbuntuLinux)的数据交换:常见......
  • Jboss未授权访问-8080
    Jboss未授权访问√基础了解JBOSS是一个基于J2EE的开放源代码的应用服务器。JBoss是一个管理EJB的容器和服务器。一般与Tomcat与Jetty绑定使用Jboss未授权漏洞是指未授权访问管理控制台,通过该漏洞,可以后台管理服务,可以通过脚本命令执行系统命令,如反弹shell环境部署vulhub:vu......
  • Proxmox VE 安装Mikrotik RouterOS
    一、环境介绍1、PVE版本:ProxmoxVirtualEnvironment7.2-32、ROSCHR镜像文件,GoogleChrome浏览器上访问Mikrotik官网下载,或访问云盘。3、WinSCP、Xshell用于上传镜像文件到PVE物理机。(请自行百度下载)    Xshell下载地址    WinSCP下载地址二、PVE部署准备工作......
  • 多线程&JUC的学习
    1、什么是线程?进程:进程是程序的基本执行实体。一个软件运行之后就是一个进程。线程:是操作系统能够运行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。简单理解:应用软件中互相独立,可以同时运行的功能。2、多线程的作用?        提高效率。3、多线......
  • CentOS高可用运维案例之---配置bond0
    案例说明:在CentOS7系统下,两个Server之间网卡部署bond0连接测试。系统版本:[root@node201~]#cat/etc/os-releaseNAME="CentOSLinux"VERSION="7(Core)"ID="centos"ID_LIKE="rhelfedora"VERSION_ID="7"PRETTY_NAME="CentOSLinu......
  • CentOS清理、巡检脚本
    清理脚本#!/bin/bash#清理缓存脚本echo"同步磁盘数据到内存"sync#清理页面缓存、目录项缓存和inode缓存echo"清理缓存..."sudosh-c"echo3>/proc/sys/vm/drop_caches"echo"清理完成"nacos清理脚本#!\bin\bash###用于定时清除nacos当天之前的日志文件###......
  • Dell-switch ios升级
    Dell-switchios升级1.showbootsystemstack-unitall查看目前ios的版本2.上传ios到A和B分区DellEMC#upgradesystemtftp:A:Addressornameofremotehost[]:172.29.8.33Sourcefilename[]:FTOS-Z9100-ON-9.14.1.5.binDellEMC#upgradesystemtftp:B:Addressor......
  • centos离线安装docker,docker-compose
    安装环境操作系统:Centos7.99内核版本:3.10.0-1160.el7.x86_64安装用户:rootdocker离线安装1下载压缩包官网下载地址:https://download.docker.com/linux/static/stable/x86_64/这里默认选择最新版本(26.0.2)。2上传压缩包并解压tarzxvfdocker-26.0.2.tgz3......