......
synchronized(user){
int loginNum = Integer.parseInt(Main_Client_Dia.jtf2.getText().trim());
Main_Client_Dia.jtf2.setText("");
loginNum++;
Main_Client_Dia.jtf2.setText(loginNum+"");
}
......
几百个线程同时访问上面的代码
为什么 无法 实现同步呢
Main_Client_Dia.jtf2.setText的值时有时会不是想要的结果,
经常出错,提示说Main_Client_Dia.jtf2.getText().trim()得到的值为"";
想办法,让每个线程对同一个user对象进行处理
说明你的jtf2中值不对 一、使其值非空,二、使其能够转换为int
更新不及时,有时候会与下一个线程的值连在一起显示咯 (⊙o⊙)
你是不是想多个用户同时对JFram中的某个JTextField进行修改而不发生错误?那你同步对象锁换成Jfram对象就可以了synchronized(jfram),每个线程中持有相同的jframe对象就可以实现同步了。
那 意思是将jframe对象一直向下传咯,因为有好几处都需要同步呢
synchronized(user.getClass()){
....
}