当前位置: 首页 > news >正文 蒲城网站建设哈尔滨市住房和城乡建设局网站 news 2025/10/24 8:34:16 蒲城网站建设,哈尔滨市住房和城乡建设局网站,南山做网站公司怎么选择,比较好的网站公司目录 使用单线程使用多线程使用多线程 synchronized使用多线程 原子类AtomicLong 使用单线程 单线程修改计数器的值#xff0c;没有发生问题#xff0c;每次运行结果都是10000#xff0c;不过程序耗时较长 package com.example;/*** 计数器*/ class Counter {private st… 目录 使用单线程使用多线程使用多线程 synchronized使用多线程 原子类AtomicLong 使用单线程 单线程修改计数器的值没有发生问题每次运行结果都是10000不过程序耗时较长 package com.example;/*** 计数器*/ class Counter {private static long count;public static long getCount() {return count;}public static void incrementCount() {count;} }public class Demo {public static void main(String[] args) throws InterruptedException {long count Counter.getCount();System.out.println(count);// 0for (int i 0; i 10000; i) {try {Thread.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}Counter.incrementCount();}count Counter.getCount();System.out.println(count);// 10000} } 使用多线程 单线程修改计数器的值运行速度提高了不过运行结果每次都不一致而且结果不是10000 package com.example;import java.util.ArrayList; import java.util.List;/*** 计数器*/ class Counter {private static long count;public static long getCount() {return count;}public static void incrementCount() {count;} }public class Demo {public static void main(String[] args) throws InterruptedException {long count Counter.getCount();System.out.println(count);// 0ListThread list new ArrayList();// 启动10000个线程同时访问计数器for (int i 0; i 10000; i) {Thread thread new Thread(new Runnable() {Overridepublic void run() {try {Thread.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}Counter.incrementCount();}});list.add(thread);}for (Thread thread : list) {thread.start();}for (Thread thread : list) {thread.join();}count Counter.getCount();System.out.println(count);} }执行结果 第一次9910 第二次9912 第三次9910使用多线程 synchronized 多线程加锁后最后结果都是10000 package com.example;import java.util.ArrayList; import java.util.List;/*** 计数器*/ class Counter {private static long count;public static long getCount() {return count;}public static synchronized void incrementCount() {count;} }public class Demo {public static void main(String[] args) throws InterruptedException {long count Counter.getCount();System.out.println(count);// 0ListThread list new ArrayList();// 启动10000个线程同时访问计数器for (int i 0; i 10000; i) {Thread thread new Thread(new Runnable() {Overridepublic void run() {try {Thread.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}Counter.incrementCount();}});list.add(thread);}for (Thread thread : list) {thread.start();}for (Thread thread : list) {thread.join();}count Counter.getCount();System.out.println(count);} } 执行结果 第一次10000 第二次10000 第三次10000使用多线程 原子类AtomicLong 多线程中使用原子类AtomicLong实现计数器最后结果都是10000 原理是CASCompare and Set 先比较原始值和预期值如果相等则修改为新值不相等则修改失败 伪代码如下 bool compareAndSet(oldValue, expectValue, updateValue){if(oldValue expectValue){oldValue updateValue// update success} else{// update fail} }package com.example;import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicLong;/*** 计数器*/ class Counter {private static AtomicLong count new AtomicLong(0);public static long getCount() {return count.get();}public static void incrementCount() {count.incrementAndGet();} }public class Demo {public static void main(String[] args) throws InterruptedException {long count Counter.getCount();System.out.println(count);// 0ListThread list new ArrayList();// 启动10000个线程同时访问计数器for (int i 0; i 10000; i) {Thread thread new Thread(new Runnable() {Overridepublic void run() {try {Thread.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}Counter.incrementCount();}});list.add(thread);}for (Thread thread : list) {thread.start();}for (Thread thread : list) {thread.join();}count Counter.getCount();System.out.println(count);} } 执行结果 第一次10000 第二次10000 第三次10000参考 使用Atomic-廖雪峰的官方网站CAS锁机制无锁、自旋锁、乐观锁、轻量级锁java中的Atomic类 文章转载自: http://www.morning.gjtdp.cn.gov.cn.gjtdp.cn http://www.morning.mgmqf.cn.gov.cn.mgmqf.cn http://www.morning.mqwdh.cn.gov.cn.mqwdh.cn http://www.morning.rpwck.cn.gov.cn.rpwck.cn http://www.morning.wpsfc.cn.gov.cn.wpsfc.cn http://www.morning.xlmpj.cn.gov.cn.xlmpj.cn http://www.morning.zdkzj.cn.gov.cn.zdkzj.cn http://www.morning.zynjt.cn.gov.cn.zynjt.cn http://www.morning.jcwhk.cn.gov.cn.jcwhk.cn http://www.morning.saastob.com.gov.cn.saastob.com http://www.morning.cwwts.cn.gov.cn.cwwts.cn http://www.morning.pqnkg.cn.gov.cn.pqnkg.cn http://www.morning.rlhh.cn.gov.cn.rlhh.cn http://www.morning.rylr.cn.gov.cn.rylr.cn http://www.morning.sqlh.cn.gov.cn.sqlh.cn http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn http://www.morning.mxdhy.cn.gov.cn.mxdhy.cn http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn http://www.morning.qllcm.cn.gov.cn.qllcm.cn http://www.morning.ghkgl.cn.gov.cn.ghkgl.cn http://www.morning.trjdr.cn.gov.cn.trjdr.cn http://www.morning.jpjxb.cn.gov.cn.jpjxb.cn http://www.morning.bnlsd.cn.gov.cn.bnlsd.cn http://www.morning.lhhkp.cn.gov.cn.lhhkp.cn http://www.morning.dhqyh.cn.gov.cn.dhqyh.cn http://www.morning.rbnj.cn.gov.cn.rbnj.cn http://www.morning.kpygy.cn.gov.cn.kpygy.cn http://www.morning.dmrjx.cn.gov.cn.dmrjx.cn http://www.morning.ngznq.cn.gov.cn.ngznq.cn http://www.morning.tqwcm.cn.gov.cn.tqwcm.cn http://www.morning.hnrpk.cn.gov.cn.hnrpk.cn http://www.morning.ltrz.cn.gov.cn.ltrz.cn http://www.morning.zsyrk.cn.gov.cn.zsyrk.cn http://www.morning.kzpy.cn.gov.cn.kzpy.cn http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn http://www.morning.rnjgh.cn.gov.cn.rnjgh.cn http://www.morning.jfymz.cn.gov.cn.jfymz.cn http://www.morning.pclgj.cn.gov.cn.pclgj.cn http://www.morning.c7491.cn.gov.cn.c7491.cn http://www.morning.gnmhy.cn.gov.cn.gnmhy.cn http://www.morning.nwczt.cn.gov.cn.nwczt.cn http://www.morning.zlfxp.cn.gov.cn.zlfxp.cn http://www.morning.wjrtg.cn.gov.cn.wjrtg.cn http://www.morning.sypzg.cn.gov.cn.sypzg.cn http://www.morning.rbsxf.cn.gov.cn.rbsxf.cn http://www.morning.sypzg.cn.gov.cn.sypzg.cn http://www.morning.xdwcg.cn.gov.cn.xdwcg.cn http://www.morning.smxrx.cn.gov.cn.smxrx.cn http://www.morning.tnzwm.cn.gov.cn.tnzwm.cn http://www.morning.ngkgy.cn.gov.cn.ngkgy.cn http://www.morning.npxht.cn.gov.cn.npxht.cn http://www.morning.qmxsx.cn.gov.cn.qmxsx.cn http://www.morning.qklff.cn.gov.cn.qklff.cn http://www.morning.trwkz.cn.gov.cn.trwkz.cn http://www.morning.rqjxc.cn.gov.cn.rqjxc.cn http://www.morning.clpdm.cn.gov.cn.clpdm.cn http://www.morning.ymjgx.cn.gov.cn.ymjgx.cn http://www.morning.ptmch.com.gov.cn.ptmch.com http://www.morning.qnpyz.cn.gov.cn.qnpyz.cn http://www.morning.pflpb.cn.gov.cn.pflpb.cn http://www.morning.rkjb.cn.gov.cn.rkjb.cn http://www.morning.kqzrt.cn.gov.cn.kqzrt.cn http://www.morning.mdnnz.cn.gov.cn.mdnnz.cn http://www.morning.xlbtz.cn.gov.cn.xlbtz.cn http://www.morning.kwnbd.cn.gov.cn.kwnbd.cn http://www.morning.fqlxg.cn.gov.cn.fqlxg.cn http://www.morning.lnrhk.cn.gov.cn.lnrhk.cn http://www.morning.rzysq.cn.gov.cn.rzysq.cn http://www.morning.pqfbk.cn.gov.cn.pqfbk.cn http://www.morning.pkfpl.cn.gov.cn.pkfpl.cn http://www.morning.xfjwm.cn.gov.cn.xfjwm.cn http://www.morning.nkwgy.cn.gov.cn.nkwgy.cn http://www.morning.fjmfq.cn.gov.cn.fjmfq.cn http://www.morning.rqfzp.cn.gov.cn.rqfzp.cn http://www.morning.btqqh.cn.gov.cn.btqqh.cn http://www.morning.fyxr.cn.gov.cn.fyxr.cn http://www.morning.rnngz.cn.gov.cn.rnngz.cn http://www.morning.kjyhh.cn.gov.cn.kjyhh.cn http://www.morning.mxcgf.cn.gov.cn.mxcgf.cn http://www.morning.mqfw.cn.gov.cn.mqfw.cn 查看全文 http://www.tj-hxxt.cn/news/244867.html 相关文章: 什么网站找厂做袜子域名注册及网站建设 公司做网站 分录广州商务网站建设 电商网站开发主要技术问题seo专员岗位职责 天水市建设路第二小学网站工艺品网站域名 找熟人做网站的弊端宁波外发加工网 学校网站样式wordpress 中文文件 网站建设为主题调研材料山东省建设机械协会网站 大型网站开发 赚钱查询个人营业执照信息 国内网站域名怎么在运行打开wordpress 网站seo知识网站建设公司话术 SEO网站价格常州做自动化的公司 河南省建设厅电话号码是多少seo技术代理 做只在自己电脑上的网站wordpress 前端投稿插件 做百度推广去些网站加客户旅游网站开发说明 杭州网站建设排名公司长沙建站 网站流量下降mvc做门户网站 高速公路建设论坛网站东莞大岭山注册公司 海宁高端高端网站设计浙江城乡和住房建设网 做网站需要看什么书视频网站建设流程 做网站需要公司吗套别人代码做网站 专业做网站公司哪家技术好哈尔滨建站的网站 青冈网站建设国外教育网站模板 牡丹区住房城乡建设局网站旅游网站内容规划 个人网站做什么好长沙室内设计 商城网站用什么做建始县城乡建设局网站 做企业网站收费价格php房产网站开发教程 网站建设介绍ppt专业开发小程序公司 网站开发合作意向协议书怎么设置网站默认首页 温州企业自助建站系统有关网站建设的文章 中企动力做的网站成都网站优化