范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

如何在两个线程之间共享数据?

  【死记硬背】
  Java 里面进行多线程通信的主要方式就是共享内存的方式,共享内存主要的关注点有两个:可见性、有序性和原子性。Java 内存模型(JMM)解决了可见性和有序性的问题,而锁解决了原子性的问题,理想情况下我们希望做到"同步"和"互斥"。有以下两个常规实现方法:一是将数据抽象成一个类,并将数据的操作作为这个类的方法。二是Runnable对象作为一个类的内部类。
  【答案解析】 第一种方法
  将数据抽象成一个类,并将对这个数据的操作作为这个类的方法,这么设计可以和容易做到同步,只要在方法上加"synchronized"。public class MyData {      private int j = 0;      public synchronized void add() {         j++;         System.out.println("线程" + Thread.currentThread().getName() + "j 为:" + j);     }      public synchronized void dec() {         j--;         System.out.println("线程" + Thread.currentThread().getName() + "j 为:" + j);     }      public int getData() {         return j;     } }public class AddRunnable implements Runnable{     MyData data;     public AddRunnable(MyData data){         this.data= data;     }     public void run() {         data.add();     } }public class DecRunnable implements Runnable {     MyData data;     public DecRunnable(MyData data) {         this.data = data;     }     public void run() {         data.dec();     }     public static void main(String[] args) {         MyData data = new MyData();         Runnable add = new AddRunnable(data);         Runnable dec = new DecRunnable(data);         for (int i = 0; i < 2; i++) {             new Thread(add).start();             new Thread(dec).start();         }     } }第二种方法
  将 Runnable 对象作为一个类的内部类,共享数据作为这个类的成员变量,每个线程对共享数据的操作方法也封装在外部类,以便实现对数据的各个操作的同步和互斥,作为内部类的各个 Runnable 对象调用外部类的这些方法。public class DecRunnable implements Runnable {     MyData data;     public DecRunnable(MyData data) {         this.data = data;     }     public void run() {         data.dec();     }     public static void main(String[] args) {         MyData data = new MyData();         Runnable add = new AddRunnable(data);         Runnable dec = new DecRunnable(data);         for (int i = 0; i < 2; i++) {             new Thread(add).start();             new Thread(dec).start();         }     } }
  【温馨提示】
  点赞+收藏文章,关注我并私信回复【面试题解析】,即可100%免费领取楼主的所有面试题资料!

极致消费体验vivoXNote发售,vivoX60加速沦为乞丐机,全是福利拥有三款配色可选的vivoXNote相当出色产品体验到了新品触手可及的极致消费体验,拥有三款配色可选的vivoXNote相当出色产品是vivo全新一代旗舰手机,拥有三款配色可选的v一加Ace官图曝光,搭载天玑8100处理器,高管信心满满在中端手机市场,本月会发布一款关注度很高的产品,它就是一加Ace,关于这款手机的外观设计,一加官方已经曝光,如下图从这张图上可以看出一些门道,它的背面辨识度还是挺高的,背面左侧有着守得住的宝宝健康相信大家对于室内空气污染有所耳闻,空气原本无色无味,但近年来雾霾天气频发,空气质量也急剧下降,出门就能看见空气。再加上城市内机动车的尾气排放,想呼吸新鲜空气真的是很难呐!据研究调查vivoX80系列成像表现一览夜视仪级别的出色夜摄表现在4月13日,知名机圈爆料博主数码闲聊站发布的一张爆料照片,成为了数码领域热议的焦点。照片中展示了多款天玑9000机型影像对比效果,其中,搭载了V1自研影像芯片的vivoX80系列俄乌冲突背后,去中心化的比特币怎么割韭菜?中国经济周刊记者石青川4月12日凌晨比特币跌破40000美元枚,日内一度跌超6。第二大虚拟币以太坊的跌幅一度高达9。5,跌破3000美元枚。虚拟货币的炒家们,再一次被狠狠割了一把韭中端机市场搅局者?iQOONeo6正式发布昨晚,iQOO举行新品手机发布会,正式发布旗下全新Neo系列手机iQOONeo6,并定义为次时代电竞旗舰,这款游戏属性极强的手机也在一发布便引来了不少的关注。首先,在性能方面,iQ国内智能网联汽车信息安全政策汇总及思考时至今日,智能网联汽车已被称为可载人的移动计算机。它作为终端获取ICT巨大优势并转换为红利的同时,就不可避免地会沾染到来自移动互联网的威胁和风险。数据采集存储使用转移销毁,应用软件马斯克因延迟披露推特持股情况遭起诉来源经济参考报据外媒报道,有投资者起诉美国电动汽车厂商特斯拉首席执行官马斯克延迟披露其持有大量社交媒体公司推特股票的情况,这使得马斯克能够以更低的价格购买推特股票,并损害了部分投资三连板ST新海披露200亿光伏电池项目,股价已提前发动,有何内幕?记者陈慧东编辑4月13日晚间,三连板ST新海(002089。SZ)披露公告称,公司4月12日与杭锦旗人民政府中国电力工程顾问集团华北电力设计院有限公司(以下简称中国电力公司)关于光如何迎接新时代?靠技术吃饭是长安UNI如今,正是汽车动力技术加速变革的时代。在双积分政策的引导下,各车企加大了对纯电动这类新能源车型的研发与投入,动力电气化成为了发展正轨。其中,混合动力展现出了节能减排的优势,对比纯电小米纯电轿车即将上市,续航达700Km,提速4。5秒,或14。99万起对于小米手机,其实我还是很有情怀的,当年小米手机1凭借1999元的价格,可以说直接搅乱了智能机市场,毕竟当初一款中看点的智能机价格都达到了4000多元,而小米手机1因为定价非常亲民
黑暗之魂故事解析从不死聚落到幽邃教堂黑暗之魂这个游戏,虽然信息零散地藏在了物品介绍人物对话游戏环境里,但除此之外还有一条线是我们一直都深陷其中,并且很难发现的,那就是游戏流程所告诉我们这个世界隐含的故事。游戏流程作为linux之Ansible快速入门Ansible是一款简单的运维自动化工具,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务。Ansible的优点不需要安装客户端,不需要运行服务使用pyth朱元璋少妇情结部下老婆家乡寡妇都要,死后妃子全部殉葬?你心中的朱元璋到底是什么样子?他杀功臣,又杀贪官,大臣们害怕他,百姓们拥护他。有人说他残暴至极,不仅在庙堂之上,对待后宫女人亦如此,死后竟然让妃子为他殉葬。连自己的下属老婆都不放过慈禧别样情史李莲英是她的情感寄托?后宫还有洋人侍从提起慈禧,大家肯定恨得牙根痒,她独揽大权47年,她早年丧夫,晚年丧子,有人肯定要问,那慈禧是何如熬过这漫长岁月的?曾有传闻,慈禧和大太监李莲英关系暧昧,还曾和外国男人有密切关系,难刺猬索尼克与世嘉主机简史,世嘉送给玩家们的速度与激情什么是刺猬?这是刺猬。什么是刺猬索尼克?这是刺猬索尼克。一个有着蓝皮肤白手套的电子游戏的角色。如果你跟我一样,年幼的时候被世嘉MD上各种出色的动作游戏所吸引,那么你一定会知晓这个飞康熙被称为千古一帝,用何人成就4大伟业?晚年为何给鳌拜平反?康熙一生丰功伟绩被称为千古一帝,擒鳌拜平三藩收台湾西征葛尔丹,康熙完成这些霸业究竟何人相助?世人眼中的大奸臣鳌拜,康熙晚年又为何替其沉冤昭雪?难道鳌拜真的是被人所误解?康熙康熙四大成吉思汗娶仇敌妻女为妃,为何不怕被害?她们都患了同一种病被史学界戏称播种机,的成吉思汗子孙无数,据说目前世界上有1600多万人和他有血缘关系。他统一蒙古各部落,建立强大的蒙古骑兵,他多次对外发动战争,更是远征到了东欧的黑海海滨。每到一个EldenRing预告片解析以及剧情猜想宫崎英高的新作EldenRing,以下称为艾尔登之环,在2019年的E3上重磅推出。期间曝露出来的游戏的元素开放世界,黑暗幻想以及凯尔特神话,让人兴奋不已。马丁x宫崎英高的组合直接摩托罗拉发布新机,究竟是王者回归还是消费情怀?据摩托罗拉官方宣布,新品发布会将会在8月5日举行。此次摩托罗拉的新品宣传不可谓是不爆炸。总共两款新品发布,侧重点有多少偏差,一款主打性能,一款主打轻薄。就官方放出来的图,说是在工艺赋能共赢!宝思派智慧新品2。0发布暨全球合作峰会佛山召开7月19日,聚势共进赋能共赢宝思派智能家居新品发布会暨全球合作峰会在佛山圆满落幕。中国建筑装饰协会材料分会秘书长梁宏瑀女士,中国建博葵花奖智能家居评选委员会秘书长陈军先生,广东省定2021bilibili游戏新品发布会如期举办,IP大作层出不穷8月4日晚19点,2021bilibili游戏新品发布会如期举办,现场IP大作层出不穷,更不乏一些独立游戏。公布的十六款游戏新作题材多样,玩法新鲜,全部出自国内厂家之手。独代自研手