300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > php多线程 static变量 静态变量 可见性_java多线程 不同runnable之间可以在运行时

php多线程 static变量 静态变量 可见性_java多线程 不同runnable之间可以在运行时

时间:2019-01-14 05:20:40

相关推荐

php多线程 static变量 静态变量 可见性_java多线程 不同runnable之间可以在运行时

java多线程,不同runnable之间可以在运行时改变对方的静态成员变量吗?

我想在主线程里启用两个线程,这两个线程采用两个不同实现的Runnable对象,记作A和B。

我的意图是当采用B的线程运行完成后通知A线程,首先我尝试了如下设计:

class Run {

public static void main(String[] args) {

new Thread(new A()).start();

new Thread(new B()).start();

}

}

class A implements Runnable {

public static volatile boolean isStop = false; // 标记B是否完成运行

public void run() {

while(**! isStop**) { //B结束后A跳出循环

do sth;

}

System.out.println("B has stopped.")

}

}

class B implements Runnable {

public void run() {

do sth;

**A.isStop = true**; // 准备退出,将A中的标志变量改为true

}

}

然而之后在启动这两个线程后,B结束后A仍在循环,即A读到的isStop依然为false.

之后我尝试将isStop变量改到main方法所在类中,大体设计如下:

class Run {

public static volatile boolean isStop = false; // 标记B是否完成运行

public static void main(String[] args) {

new Thread(new A()).start();

new Thread(new B()).start();

}

}

class A implements Runnable {

public void run() {

while(**! Run.isSto**p) { //B结束后A跳出循环

do sth;

}

System.out.println("B has stopped.")

}

}

class B implements Runnable {

public void run() {

do sth;

**Run.isStop = true;** // 准备退出,将Run中的标志变量改为true

}

}

这样可以正常完成通知过程。但我不明白为什么会是这个结果?原理上跟先前的尝试有何不同?

提前谢过大家!

相关阅读:

elementUi 能基于全局的Vue对象使用它的组件吗?

几个关于jsp的问题

通不过HTTPS怎么破?

angular1 directive 如何操作dom实现后台管理系统的折叠导航?

object.__setattr__和直接设置属性有什么不同吗?

jquery click获取该条json数据

atom有什么插件可以提示es6 import进当前文件却没被使用到的

两个js function 互相调用引发的其中一个未定义的问题。

为什么在函数中用createElement创建的元素,函数结束后不能访问,为null,而在下一个函数中却能访问?

skrollr.js的p是什么意思

移动端简单的picker demo,ios和android chrome兼容,android微信里不兼容

为什么刷新页面会导致表单重复提交呀,

如何用vim实现快速整理编号

iOS 开发单元测试,大家开发过程中常用吗,网上资料看了不少,但还是没明白怎么使用,怎么实战呢?

查询某张表的全部数据,这两种方式有区别吗?

wordpress 文章评论实现 ajax 的方法

@RequestParam 获取参数值有问题

在js或css文件后面加上"_日期"起到什么作用呢?

求java md5工具类和php md5工具类通用版

关于bootstrap导航栏下的巨幕

php多线程 static变量 静态变量 可见性_java多线程 不同runnable之间可以在运行时改变对方的静态成员变量吗? 静态变量 可见性 java多线程 java - phpStudy...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。