homework-03 扑街。。
1.思路
我的思路是利用进程间通信间来实现题目要求。
第一次打开的程序与第二次打开的程序并不是同一个进程,故需要进程间通信来是传递信息。
windows下进程间通信的方式有很多,如文件映射、共享内存、匿名管道、命名管道等
文件映射能使进程把文件内容当作进程地址区间一块内存那样来对待,是在多个进程间共享数据的非常有效方法。
共享内存是一种特殊的文件映射,共享的数据可以比较大。
匿名管道一般是父子进程间的使用。
命名管道是进程之间通信的单向或双向管道,可用与不相关的进程间通信。
在这次作业的条件下,我觉得命名管道最佳。因为要通信的两个进程并非父子进程,去传输数据较小。
命名管道程序的开发涉及到服务端和客户端两个部分。服务端进程负责创建管道并等待客户端进程连接,在管道创建完成后,客户端可以进行连接并进行通信。
此次作业中只有一个程序,则该程序打开时先认为自己是客户端,去查找该命名管道,发现没有,则变成服务端,创建管道,等待后面的客户端连接。
之后再次打开改程序,这个进程查找命名管道,发现存在,则发送信息(命令行参数),发送完就结束自己。
但是,我发现我使用java实现图形界面的,java居然好像没有命名管道!!!
只能用内存共享尝试。
2.悲剧
图像界面。。。我去宗毅同学寝室串门,看到他实现了这道题目,使用C#写的,他说C#图形界面很简单!
我一排脑瓜,觉得不错,决定也用c#。但我发现我没学过C#。。。
我的结队队友告诉我他会,这让我感到一阵轻松。但是过了几天没良心的队友跑啦!!!他退课了
留下我在风中凌乱。。。去图书馆借C#的书,看的云里雾里,到现在,还是捉急。
后来,只得用Java写。图形界面

然后把原来C++算法部分的代码移植过来。
这还是好实现的。
但是,java的进程间通信让我感到好无力!!
写不下去了。写了一半。
3.反思
我应该用自己熟悉的语言去写的,妄图1天搞定一门语言还是不太现实。
C#真的有点乱。。。
其实说到底还是我有点懒。
下次加油!
homework-03 扑街。。的更多相关文章
- nlp homework 03
NLP Homework 03 --冯煜博 题目描述 (盒子和球模型)假设有3个盒子,每个盒子里装有红白两种颜色的球,盒子里的红白球有下表列出,初始状态分布. 解答 1. 给出HMM模型 \(\mu= ...
- 小兔JS教程(四)-- 彻底攻略JS数组
在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...
- 小兔JS教程(三)-- 彻底攻略JS回调函数
这一讲来谈谈回调函数. 其实一句话就能概括这个东西: 回调函数就是把一个函数当做参数,传入另一个函数中.传进去的目的仅仅是为了在某个时刻去执行它. 如果不执行,那么你传一个函数进去干嘛呢? 就比如说对 ...
- 20181120-6 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 03
此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制地址 [https://git.coding.n ...
- 作业要求20181113-4 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 03
作业要求:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2385 版本控制:[https://git.coding.net/lglr201 ...
- Alpha阶段第2周/共2周 Scrum立会报告+燃尽图 03
此次作业要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2286 Scrum master:范洪达 一.小组介绍 组长:王一可 组员 ...
- 20181016-4 Alpha阶段第1周/共2周 Scrum立会报告+燃尽图 03
此作业链接地址见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2248 Scrum master:王硕 一.小组介绍 组长:王一可 组员 ...
- 20191107-4 beta week 2/2 Scrum立会报告+燃尽图 03
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9956 小组名称:“组长”组 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶, ...
- day33-线程基础03
线程基础03 6.用户线程和守护线程 用户线程:也叫工作线程,当线程的任务执行完或者通知方法结束.平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程 守护线程(Daem ...
- day41-网络编程03
Java网络编程03 5.UDP网络通信编程[了解] 5.1基本介绍 类DatagramSocket 和 DatagramPacket[数据报/数据包]实现了基于 UDP的协议网络程序 UDP数据报通 ...
随机推荐
- mount挂载
与ln -s 功能类似 # mount --bind /data/public /home/user/public /etc/fstab # <file system> <mount ...
- css3多列example
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 父窗口调用iframe子窗口方法
一.父窗口调用iframe子窗口方法 1.HTML语法:<iframe name="myFrame" src="child.html"></i ...
- Qt, 我回来了。。。
说起qt,大学时就有接触,但一直没有深入,这个周六周天利用两于时间重新温习了一下,跟之前用过的vs上的MFC.C++ builder比起来,Qt封装很人性化,库也比较全,写个 一般的小工具很轻松. 参 ...
- 谈谈 React.js 的核心入门知识
近来React.js变得越来越流行,本文就来谈一谈React.js的入门实践,通过分析一些常用的概念,以及提供一些入门 的最佳编程编程方式,仅供参考. 首先需要搞懂的是,React并不是一个框架,Re ...
- fstab
开机后,挂载windows盘失败, 进入了一个检测shell,该shell下是以只读方式挂载根分区的,要使fstab可写,要执行mount -o remount,rw / /etc/fstab文件的解 ...
- 在CentOS下安装WebBench进行web 性能测试
Webbench是有名的网站压力测试工具 编译安装:1. wget http://www.sfr-fresh.com/unix/privat/webbench-1.5.tar.gz2. tar zxv ...
- WAMP搭建
win2003Apache+PHP+Mysql+PHPmyadmin 软件版本: Apacheèhttpd-2.2.25-win32-x86-no_ssl.msi php-5.4.3-Win32-VC ...
- VMware vSphere Client的简单使用教程
1.首先登陆进去ESXI管理 实验VMware VS6.0版本 2新建虚拟机 确认信息 点击完成 2.开启虚拟机 右键打开控制台 加载光驱 选择虚拟机 Ctrl+Alt+delete重启 安装 来 ...
- foreach 和 list.foreach 初步测试
单纯从速度上讲 小数据量下foreach 较快,list.Foreach 由于 public void ForEach(Action<T> action) { ; i <this._ ...