多线程共享数据-非线程安全示例
发布日期:2022-04-11 08:52:53 浏览次数:2 分类:博客文章

本文共 849 字,大约阅读时间需要 2 分钟。

多线程共享数据-非线程安全示例

package com.stono.thread2;import java.util.concurrent.atomic.AtomicInteger;public class Page11 extends Thread{
private int count = 5;
private AtomicInteger c2 = new AtomicInteger(5);
@Override
public void run() {
super.run();
// 此处会出现非线程安全问题
count --;
System.out.println("由 "+this.currentThread().getName()+" 计算, count= "+count);
// 这个线程安全
c2.decrementAndGet();
System.out.println("由 "+this.currentThread().getName()+" 计算, AtomicInteger= "+c2.get());
}
public static void main(String[] args) {
Page11 page11 = new Page11();
Thread a = new Thread(page11, "A");
Thread b = new Thread(page11, "B");
Thread c = new Thread(page11, "C");
Thread d = new Thread(page11, "D");
Thread e = new Thread(page11, "E");
a.start();
b.start();
c.start();
d.start();
e.start();
}}

使用AtomicInteger可以实现线程安全处理,但是输出顺序不是固定的;

 也可以在run()方法前面加上synchronized进行修饰;

 

转载地址:https://www.cnblogs.com/stono/p/8370621.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:多线程内存定位的命令总结
下一篇:多线程六 线程间的通信

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.11.153.104]2022年05月22日 09时38分40秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

c语言vs编写贪吃蛇,刚学C语言,想写一个贪吃蛇的代码 2019-12-01 15:24:47
改oracle字段长度吗,字段长度怎么改不了了??? 2019-12-01 15:24:45
oracle转义符括号,sql – 用大括号和通配符转义的Oracle文本 2019-12-01 15:24:45
oracle加入开机自启动,设置oracle开机自启动 2019-12-01 15:24:45
php查一个变量返回值,PHP语言中,______函数能检测一个变量是否存在,返回true表示变量存在,false表示变量不存在;______函数可以删除一个指定的变量,没有返回值。... 2019-12-01 15:24:45
php web启动客户端程序,php – CodeIgniter Web服务客户端 2019-12-01 15:24:45
oracle linux网卡uuid,oraclelinux系统udev配置 2019-12-01 15:24:46
linux 监控丢包 脚本,网络丢包监控脚本 2019-12-01 15:24:46
php so目录下,1.框架目录结构 2019-12-01 15:24:43
php面向对象对象的属性,PHP面向对象的基本属性分析 2019-12-01 15:24:43
java第五章上机流程图,java课程设计任务书(软件外包服务专业) 2019-12-01 15:24:44
php中mongodb更新数据类型,Mongodb基本数据类型、常用命令之增加、更新、删除 2019-12-01 15:24:44
matlab gui电机,基于MATLAB GUI的感应电机性能分析界面设计.docx 2019-12-01 15:24:44
oracle查字段中的某一个数据,解析如何查看Oracle数据库中某张表的字段个数 2019-12-01 15:24:44
dbmanage php,index.php 2019-12-01 15:24:44
oracle 11gr2版本gi新增组件,Oracle 11gR2 GI安装时的等效性问题 2019-12-01 15:24:44
Lnmp1..4升级php版本,LNMP 升级Nginx、MySQL/MariaDB、PHP教程 2019-12-01 15:24:42
matlab可以做影像组学吗,影像组学分析与建模工具综述.PDF 2019-12-01 15:24:42
matlab输出一个excel表格,matlab数据输出为excel表格-怎样将MATLAB中的数据输出到excel中... 2019-12-01 15:24:42
php的$_files变量,PHP超全局变量$_FILES 2019-12-01 15:24:43