mdsk.net
当前位置:首页 >> jAvA多线程 全局变量 >>

jAvA多线程 全局变量

你这个全局变量是static变量吗?必须是static才是全局的 然后要保证这个调用全局变量的类和那个线程是在同一个进程 然后要考虑执行的顺序,保证赋值的线程先执行

这种全局变量建议不要设置,加锁,会影响响应速度

1.使用JAVA Collections 这个类. 有 checkedList / Map / Set 方法. 将你的集合放进去,会返回给你一个线程安全的集合. 这样不需要你手动去做线程同步, java已经帮你做了. 2.使用 synchronized 关键字, 同步 你的删除修改操作. 3.使用 synchroniz...

希望对你有帮助!你说的全局变量是什么? 你怎么写的? 另外多线程有数据书同步延迟和指令重排序问题。 也会有一定影响

你多试几次就会有变化的,你要看出变化 你可以中间加上 Thread.sleep(100); 这样就能看出变化了! 这里因为没有优先级,他们谁先执行都是看运气的 我自己的看法,这里是有三个线程的,main、ta、tb 这三个线程执行顺序是随机的!

使用synchronized关键字同步方法就可以了。 public class Foo2 { private int x = 100; public int getX() { return x; } //同步方法 public synchronized int fix(int y) { x = x - y; System.out.println("线程"+Thread.currentThread().getNa...

你说的全局变量是什么? 你怎么写的? 另外多线程有数据书同步延迟和指令重排序问题。 也会有一定影响

说具体点。 你的全局变量是类全局变量还是整个程序的全局变量? 具体描述一下你想要的效果 子线程是不是一个内部类?如果不是内部类,则把子线程改为内部类试试。因为内部类是可以直接使用外部类的全局属性的。

首先要注意的是 java 是面向对像,只要实例化对像了,那对像的属性就这么个样, 想什么调用从在哪调用都可以 所以想要一个什么全局变量,就该想到要让这个全局变量在哪里容身。 1、容身于实例,在类里面用public 来定义这个变量,则要用到这个变...

Java可以通过设置一个接口,让实现的每个子类都必须要实现里面的方法,这样就实现了全局变量可以多个类使用。 还可以通过给变量设置static final关键字,不用实例化,即可使用。

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com