Java线程间通过共享对象通信
来源:互联网 发布:android 无法修改mac 编辑:程序博客网 时间:2024/06/03 15:56
Java线程间通过共享对象通信
共享对象必须是对象,例如class、Integer、String之类的,不能是一般的变量,如int、double、boolean之类。
下面给出一个例子,当线程B运行10s之后通过线程A关闭线程B。
- 主函数
public class Exercise { public static void main(String args[]) { ThreadStop t = new ThreadStop(); new Thread(new A(t)).start(); new Thread(new B(t)).start(); }}
- 共享对象
public class ThreadStop { volatile private boolean value = true; synchronized public boolean isValue() { return value; } synchronized public void setValue(boolean value) { this.value = value; }}
- 线程A
public class A implements Runnable { private ThreadStop t; public A(ThreadStop t) { this.t = t; } public void run() { long begin = System.currentTimeMillis(), end = System.currentTimeMillis(); while (Math.abs(end - begin) < 10000) { end = System.currentTimeMillis(); } t.setValue(false); }}
- 线程B
public class B implements Runnable { private ThreadStop t; public B(ThreadStop t) { this.t = t; } public void run() { while (t.isValue()) {} System.out.println(Thread.currentThread().getName() + " is stoped by another Thread"); }}
0 0
- Java线程间通过共享对象通信
- java中线程间数据共享和线程间通信
- JAVA多线程-线程间通信(三)-通过管道进行线程间通信
- 通过共享内存进行进程间通信
- 进程间通过共享内存通信
- 通过共享内存进行进程间通信
- 通过共享内存进行进程间通信
- 通过共享内存进行进程间通信
- JAVA线程-线程间通信
- java 线程间通信
- java线程间通信
- Java线程间通信
- java线程间通信
- Java-线程间通信
- java线程间通信
- Java线程间通信
- java线程间通信
- java线程间通信
- HDU 2048 2049 (错排,排列组合)
- 读书笔记 JavaScript 高级程序设计(第三版)-- 第1章
- Java Request 获取域名
- 【Java并发编程】深入分析Thread(七)
- 质数的无穷性——从素数到数论
- Java线程间通过共享对象通信
- delete 与 deleteLater()
- rm删除破折号开头的文件或目录
- git修复commit记录
- 集锦——浏览器每次访问自动更新网页,不用手工设置,附Google/firefox/Ie
- Xcode 环境变量及路径设置
- scala学习:环境搭建
- 单链表
- Squid缓存代理服务器安装过程