线程中更改全局变量的问题
来源:互联网 发布:php好就业吗 编辑:程序博客网 时间:2024/05/23 14:18
线程中更改全局变量例子:
package 并发编程;
public class ConcurrencyTest {
public static volatile long count = 100001;
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
concurrency();
Thread.sleep(2000);
System.out.println(count);
}
private static synchronized void concurrency(){
Thread thread=new Thread(new Runnable(){
@Override
public synchronized void run() {
// TODO Auto-generated method stub
count=50;
//System.out.println(count);
}
});
thread.start();
//count=50;
//System.out.println(count);
}
}
注意@@@
在线程中更改全局变量,只有在线程结束后(Thread.sleep())才能更改,或许会是因为线程尚未开始就已经进行了输出结果。
package 并发编程;
public class ConcurrencyTest {
public static volatile long count = 100001;
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
concurrency();
Thread.sleep(2000);
System.out.println(count);
}
private static synchronized void concurrency(){
Thread thread=new Thread(new Runnable(){
@Override
public synchronized void run() {
// TODO Auto-generated method stub
count=50;
//System.out.println(count);
}
});
thread.start();
//count=50;
//System.out.println(count);
}
}
注意@@@
在线程中更改全局变量,只有在线程结束后(Thread.sleep())才能更改,或许会是因为线程尚未开始就已经进行了输出结果。
阅读全文
0 0
- 线程中更改全局变量的问题
- 关与线程中全局变量调用问题
- js中全局变量的问题
- C++中全局变量的问题
- JavaScript中全局变量的问题
- VC++中全局变量的问题
- 全局变量的线程安全性
- VC++中全局变量的问题(转)
- VC++中全局变量的问题(转)
- VC++中全局变量的问题(转)
- VC++中全局变量的问题(转)
- Android中全局变量问题
- C#线程中更改TextBox 和RichText的值
- 全局变量的问题
- 全局变量的问题
- mapreduce全局变量的问题
- 关于线程并发访问全局变量问题
- 多线程操作全局变量的问题(有点复杂,需要考虑线程的优先级问题)
- 89. Gray Code [leetcode]
- 16:9
- 【怎样写代码】复杂对象的组装与创建 -- 建造者模式(一):问题案例
- Oracle出现不是group by 表达式的原因
- 智能指针
- 线程中更改全局变量的问题
- python启动失败 error: [Errno 98] Address already in use
- CCNP ospf协议
- Windows QT工程编译出错
- css强制换行
- kali下栈溢出实验和一些tips
- STM32 USB 上位机程序实现
- day26之模拟实现memcpy和memmove函数
- cocos2d-x 之 简单数据存储——Userdefault