Java 共享数据读写(多线程)
2024-10-18 12:20:03
public class StopThread { // 静态字段的读写不必须要同步才能生效,尽管读写是原子的(atom)
private static boolean stopRequested; /**
* 对静态共享字段的写进行同步
*/
private static synchronized void requestStop() {
stopRequested = true;
System.out.println("stopRequested");
} /**
* 对静态共享字段的读进行同步
* @return boolean
*/
private static synchronized boolean stopRequested() {
return stopRequested;
} public static void main(String[] args) throws InterruptedException {
Thread bkThread = new Thread(new Runnable() {
@Override
public void run() {
int i = 0;
while (!stopRequested()) {
System.out.println(i);
i++;
}
}
}); // 启动异步线程
bkThread.start(); // 主线程休眠1秒
TimeUnit.SECONDS.sleep(1); // 发出stop指令(stopRequested = true)
requestStop();
}
}
最新文章
- Web APi之HttpClient注意事项以及建议(四)
- jqurey datatable tableTools 自定义button元素 以及按钮自事件
- 如何调试js文件
- 安装Ifconfig
- LeetCode33 Search in Rotated Sorted Array
- ios开发之路十一(ARC forbids explicit message send of 'autorelease'错误)
- React与Preact差异之 -- setState
- PA模块报错-实际返回的行数超出请求的行数(分析标准FORM报错解决思路)
- OOP的概念和基础特性
- GC调优
- [小知识点] react 性能
- Jmeter(三十七)源码导入IDE(转!)
- 转头条:阿里p7架构师:三年经验应该具备什么样的技能?
- Java之旅--定时任务(Timer、Quartz、Spring、LinuxCron)
- Android实例剖析笔记(四)
- Nagios配置文件说明
- PTA基础编程题目集7-4 BCD解密
- (查找函数+atoi)判断与(注册函数+strcmp函数)判断两种方法
- Acheron一期SVN地址
- make编译六