zoukankan      html  css  js  c++  java
  • 20175221-20175225-20175226 信息安全系统 实验三《实时系统》实验报告

    20175221-20175225-20175226 信息安全系统 实验三《实时系统》实验报告

    小组成员:20175221 曾祥杰、20175225 张元瑞、20175226 王鹏雲

    任务一:

    实验要求:

    • 学习使用Linux命令wc(1)
    • 基于Linux Socket程序设计实现wc(1)服务器(端口号是你学号的后6位)和客户端
    • 客户端传一个文本文件给服务器
    • 服务器返加文本文件中的单词数
    • 上方提交代码
    • 附件提交测试截图,至少要测试附件中的两个文件

    实验步骤

    • 先使用man wc了解wc命令的功能与用法

    wc命令

    -c 统计字节数。
    l统计行数。
    m 统计字符数。这个标志不能与-c 标志一起使用。
    w统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
    L 打印最长行的长度
    
    • wc命令测试两个文件

    • socket编程

    任务二

    任务要求

    • 使用多线程实现wc服务器并使用同步互斥机制保证计数正确
    • 上方提交代码
    • 下方提交测试
    • 对比单线程版本的性能,并分析原因

    实验步骤

    • 多个客户端一起传文件给服务器

    多线程的优点:

    • 第一,将原来在一个大流程中实现的功能放到了多个小流程中,程序更加的简洁和易于阅读。
    • 第二,将不同的功能放到不同的线程中,提高了程序的执行效率。
    • 第三,“多线程”使得程序的模块化更强,有利于追踪程序执行过程和排查问题。

    实验中的问题及解决过程

    • 问题一:在进行任务二时pthread_create编译无法通过

    • pthread并非Linux系统的默认库,而要在Linux中将其作为一个库来使用,就需要加上-lpthread-pthread以显式链接该库。
      感悟

  • 相关阅读:
    如何把项目上传到github
    springBoot整合Mybatis为什么可以省略mybatis-config.xml
    【Mybatis源码解析】-mybatis-spring原理解析
    没有名字 [整除分块优化dp]
    替身使者 [区间dp]
    P3158 [CQOI2011]放棋子 [动态规划]
    博士之时 [分类讨论, 计数]
    曾有两次 [最短路树]
    序列 [线段树]
    城镇 [树的直径, 启发式合并]
  • 原文地址:https://www.cnblogs.com/20175226wpy/p/11923416.html
Copyright © 2011-2022 走看看