您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 清华计算机系程设小学期_thread
第五次:多线程编程实验课清华大学计算机系内容多线程快速排序多客户端的聊天软件快速排序的并行优化思路快速排序通过将数据划分为两个数据段,再对两个数据段分别进行快速排序。对于双核、多核处理器,排序时只有一个核心在工作,那怎么充分发挥处理器的性能呢?通过2个线程并行排序2个划分以后的数据段。下面是实现方式:1、将数据分割成两个数据段2、创建2个线程分别进行快速排序3、主线程等到子线程结束后,返回结果其中的1是快速排序的必然结果。3可以使用WIN32的事件对象来完成同步。多线程快速排序要求在Windows环境下,编写一个多线程进行快速排序的程序,使用的是产生1,000,000个随机数的文件从数据文件中读到内存后,多线程共享数组给出程序运行的系统资源配置,给出测试结果并对测试程序和结果做出说明多线程快速排序问题分割的均匀程度对线程数目和结果有什么影响?需要的线程数不同对数据分割的均匀程度对排序的时间有何影响算法复杂度O(logn)到O(n^2)对线程数目也有影响多线程快速排序问题分解到每个线程的排序算法应不应采用快速排序算法,为什么?数据量小,快速排序效率不一定高*~*需要提交的材料用多线程实现快速排序的代码线程数不同时,快速排序算法的性能比较实验二:即时通讯系统实验目的掌握更高级别的模块设计、编程实现技术遇到一个网络编程问题,如何进行客户端、服务器端任务分工设计如何进行客户端、服务器端之间的网络通信协议设计,包括语法、语义、时序设计客户端、服务器端之间的网络通信动作,进行对应的通信流程规划掌握Windows环境下基于WinSockAPI的编程方法。掌握Windows环境下基于多线程的并发编程。掌握高级网络服务器快速响应的基本技术。实验内容编写一个即时通信程序,包括客户端和服务器端两部分服务器能够支持来自不同机器的多个用户同时登录用户之间可以通过服务器实现两两通讯。实验内容及要求服务器:启动时能输入自己的IP值和端口值并能进行在线监听是否有客户端要求连接,如果有,接受连接请求,建立连接。监听已有连接是否有消息需要转发,实现相关客户端的消息互发。能在文件中维护用户列表,支持新用户添加实验内容及要求客户端:能输入远程服务器的IP值和端口号,并进行连接请求当连接上后要能与服务器进行通讯支持用户的注册、登录可以从服务器返回用户列表可以和任意用户聊天实验要求只允许使用基本的WinSockAPI函数服务器使用文件维护用户列表使用多线程实现并发使用多线程实现多路信息通信要求在QTCreator集成开发环境中完成客户端要求图形界面,包括用户列表,已有信息显示框,待发消息编辑框。点击用户列表中某个用户,就切换到对应的用户聊天界面评分考核指标提交材料包括:详细设计文档(doc)源代码具体要求:客户端和服务器端能够正确进行通讯,即任意两个客户端彼此能看到对方的消息设计文档需要涵盖:客户端、服务器端的工作流程;二者通信协议;网络通信编程框架
本文标题:清华计算机系程设小学期_thread
链接地址:https://www.777doc.com/doc-3175239 .html