java多线程jdk1.7与jdk1.6结果不一致的问题
16lz
2021-01-22
模拟登录四个文件
第一个文件:
第二个文件
第三个文件
第四个文件执行主文件
预期的结果是:
jdk1.6结果:
username=bpassword=bb
username=bpassword=aa
但是我用的是jdk1.7,结果是:
username=bpassword=bb
username=apassword=aa
多试几次
第一个文件:
packagelearn.onebase.gunsafethread;
publicclassALoginextendsThread{
@Override
publicvoidrun(){
LoginServlet.doPost("a","aa");
}
}
第二个文件
packagelearn.onebase.gunsafethread;
publicclassBLoginextendsThread{
@Override
publicvoidrun(){
LoginServlet.doPost("b","bb");
}
}
第三个文件
packagelearn.onebase.gunsafethread;
publicclassLoginServlet{
privatestaticStringusernameRef;
privatestaticStringpasswordRef;
publicstaticvoiddoPost(Stringusername,Stringpassword){
try{
usernameRef=username;
if(username.equals("a")){
Thread.sleep(10000);
}
passwordRef=password;
System.out.println("username="+usernameRef+"password="+password);
}catch(InterruptedExceptione){
e.printStackTrace();
}
}
}
第四个文件执行主文件
packageshop.ljsp.learn.onebase.gunsafethread;
publicclassRun{
publicstaticvoidmain(String[]args){
ALogina=newALogin();
a.start();
BLoginb=newBLogin();
b.start();
}
}
预期的结果是:
jdk1.6结果:
username=bpassword=bb
username=bpassword=aa
但是我用的是jdk1.7,结果是:
username=bpassword=bb
username=apassword=aa
4 个解决方案
#1
多试几次
更多相关文章
- java文件上传输入输出流的问题
- Android MediaCodec硬解码AAC音频文件(实时AAC音频帧)并播放
- 获取所有音乐文件的专辑封面
- android应用私有存储文件的写入与读取-openFileInput 和 openFil
- jni读取assets资源文件
- 使用adb从android手机拉取文件到电脑
- Android Studio 集成 ShareSDK 如何 覆盖 文件夹
- Android 自动编译、打包生成apk文件 1 - 命令行方式
- 如何将文件路径从.java类文件传递到本机jni文件