比如:class Test{
public static hello(String name ){
System.out.println(name);
}多个钱程同时调用,name变量是不是不能保证线程安全性
public static hello(String name ){
System.out.println(name);
}多个钱程同时调用,name变量是不是不能保证线程安全性
解决方案 »
- 谁帮我改一下查询语句吧 。。。谢谢了。。。
- 使用JavaSE怎样向文本域中加入日历组件
- 关于synchronized的顺序问题
- 关于drawImage的问题,请大家帮助我
- 【200分】工作流的为使用的业务系统提供的调用java api接口如何写呀??(急等)
- 求bytecode编辑器,能改import语句的
- 怎样用JAVA读出word文档的内容啊?不需要格式,只需要读书文本再println出来就行啦!
- 求设计思路
- 如果只允许用户每次只能在同一台机器登陆我的会员系统(jsp),有什么办法吗?
- Java编译器
- 怎样实现判断同一个串口是否2、3线连通阿?急急急。要做不出来,5.1还得加班阿。
- 在applet中怎么建立txt文件?help!!!我建了个没出来~~谢谢~~~
如果是:
class Test{
private static name;private changename() {
//些处改变了name
}public static hello(){
changename()
System.out.println(name);
}
}结果会怎么样呢?
如果是:
class Test{
private static name;private changename() {
//些处改变了name
}public static hello(){
changename()
System.out.println(name);
}
}结果会怎么样呢?--------------------
结果会很混乱.呵呵
这里介绍一下类级别锁,看对你有没有什么帮助。对象的每个实例,除了存在对象级别锁,还存在类级别锁,它锁定类的所有实例的共享。synchronized语句也是可以使用类级别锁的。
例如:
public static synchronized void staticA(){
...
}也可以使用如下代码锁定类类级别锁
public static void staticB(){
synchronized(ClassName.class){ //注意一定要有.class的扩展名,否则就是对象级别锁了
...
}
}
synchronized(obj){ System.out.println(name);
}