我们在使用Java语言编写程序时,在进行一直耗时较长的操作时往往需要使用进程,这时候如果多个进程同时对一个文件进行写入,可能会出现问题,这时候就需要正确处理进程之间交换数据的问题
工具/原料
1
一台连接好互联网的计算机
2
Java Development Kit(>=1.8)
3
Java IDE(Eclipse)
方法/步骤
1
首先我们打开Java的IDE,这里以常用的Eclipse软件为例,在一个创建好了的Java工程中,或者自己另行创建一个新的项目,然后点击File-New-Class,即可新建一个普通的Java类
2
在弹出来的“New Java Class”新建类窗口中,可以对欲添加的Java类的类名和实现的接口进行定义,需要注意的是类名的命名要符合Java标识符的规范,如“ThreadTest”,并勾选自动创建主方法
3
确认无误后,点击finish按钮可以看到,我们已经创建了一个只包含类名和主方法的空白的StringTest类,如果要得到相应的功能下面还需要添加上具体的实现过程
4
首先在文件头部引入exchange包,然后在类内主方法前创建一个交换器对象,由于这里是对字符串型数据进行处理,所以泛型为String,再根据线程的数目创建一个执行器对象
5
然后在main的主方法中,使用刚才创建的执行器的execute方法来执行一个新的进程,再把数据存入交换器中
6
以此类推,建立第二个进程,注意要增加比较语句,从而确定两个进程同时运行时是否发生了进程同步问题
7
所有代码确认无误后,点击运行按钮,我们可以看到结果,两个进程传输的数据是不一样的,每个进程也分别正确地传送了自己的数据,表明此时没有发生进程同步问题
注意事项
1
这里为使用系统库Thread的Exchange()的实现方式,可调用第三方库实现
2
本方法仅供参考,还可以自行使用其他方式进行实现