当前位置: 首页 > news >正文

北京专业公司建网站平台wordpress插件团购

北京专业公司建网站平台,wordpress插件团购,十大农业网站,南京做网站建设有哪些内容文章目录 一、概述二、使用方法三、测试示例 一、概述 在Java中#xff0c;synchronized 关键字用于实现线程之间的同步。提供了一种简单而强大的机制来控制多个线程之间的并发访问#xff0c;确保共享资源的安全性和一致性。它解决了多线程环境中的竞态条件、数据竞争和内存… 文章目录 一、概述二、使用方法三、测试示例 一、概述 在Java中synchronized 关键字用于实现线程之间的同步。提供了一种简单而强大的机制来控制多个线程之间的并发访问确保共享资源的安全性和一致性。它解决了多线程环境中的竞态条件、数据竞争和内存模型等问题是实现线程安全的重要手段之一。它主要有以下几个作用 互斥性Mutual Exclusionsynchronized 用于实现互斥访问确保同一时间只有一个线程可以进入被 synchronized 修饰的代码块或方法。当一个线程获取了锁也称为监视器锁后其他线程就无法进入该代码块或方法直到锁被释放。可见性Visibilitysynchronized 不仅保证了互斥性还保证了对共享变量的修改对其他线程是可见的。当一个线程释放锁时它会将对共享变量的修改刷新到主内存而其他线程在获取锁之前会从主内存中重新读取共享变量的值确保了线程之间的可见性。相应的 volatile 关键字也有这个功能请看 volatile 的使用说明。有序性Orderingsynchronized 保证了代码的执行顺序按照线程的获取锁的顺序来进行。即使在多个线程之间存在指令重排序通过 synchronized 的释放和获取锁操作可以确保代码块内的操作按照顺序执行。内存屏障Memory Barrierssynchronized 的进入和退出操作都会插入内存屏障这些屏障会阻止指令重排序和确保内存的可见性。这种特性使得 synchronized 不仅仅是一种同步机制还可以作为一种内存屏障来确保指令的有序执行。可重入性可重入性是由内置锁synchronized和可重入锁ReentrantLock实现的。当一个线程已经获得了一个锁并且在持有锁的代码块或方法中再次请求同一个锁时它可以直接通过而不会被阻塞。这样的机制称为可重入锁Reentrant Locking或递归锁Recursive Locking。 synchronized 是 Java 中用于实现内置锁Intrinsic Lock或监视器锁Monitor Lock的关键字它属于独占锁Exclusive Lock或互斥锁Mutual Exclusion Lock。 使用时有以下几点注意 synchronized 锁的是对象。不建议使用String、Integer、Long等常量作为锁的对象。因这样的锁是全局的如果多个线程中使用了相同的锁会导致全部阻塞。属于升级锁由无锁、轻量级锁偏向锁、自旋锁到重量级锁根据情况自动升级。synchronized 可以修饰方法也可以修饰代码块。 二、使用方法 作用在代码上相当于给代码块加锁Lock public void performTask() {// synchronized 作用于代码块synchronized (lock) {// 业务逻辑同步代码块对共享资源进行操作}}作用在方法上相当于给整个方法加锁Lock // synchronized 作用在方法上public synchronized void increment() {// 业务逻辑同步代码块对共享资源进行操作}三、测试示例 一个会出异常的示例 在下面这个测试示例中有一个 Counter 类在这个类中有一个 add 方法当记数 count 小于 50000 时自增。然后在 main 方法中启动100个线程来同时进行增加操作由于没有加锁synchronized最后结果总是会大于 50000。 package top.yiqifu.study.p004_thread;import java.io.File; import java.util.ArrayList; import java.util.List;public class Test061_ThreadSynchronized {public static class Counter {private volatile int count 0;public void increment() {count;}public int getCount() {return count;}public void add(){if(this.getCount() 50000){// Thread.yield();File.listRoots();// 模拟复杂业务执行一些额外的语句this.increment();}}}public static void main(String[] args) {Counter counter new Counter();ListThread threads new ArrayList();for(int count 0; count 100; count) {Thread thread new Thread(() - {for (int i 0; i 1000; i) {counter.add();}});threads.add(thread);}for(Thread t : threads) {t.start();}for(Thread t : threads) {try {t.join();} catch (InterruptedException e) {e.printStackTrace();}}System.out.println(最后结果: counter.getCount());}} 修改正示例 要解决这个问题可以使用 synchronized 关键字来对代码块加锁。 在代码块上加 synchronized 关键字 public void add(){synchronized(this) {if(this.getCount() 50000){File.listRoots();// 模拟复杂业务执行一些额外的语句this.increment();}}}在 add 方法上加 synchronized 关键字 public synchronized void add(){if(this.getCount() 50000){File.listRoots();// 模拟复杂业务执行一些额外的语句this.increment();}}
文章转载自:
http://www.morning.xpqyf.cn.gov.cn.xpqyf.cn
http://www.morning.amonr.com.gov.cn.amonr.com
http://www.morning.rmyt.cn.gov.cn.rmyt.cn
http://www.morning.tgwfn.cn.gov.cn.tgwfn.cn
http://www.morning.cokcb.cn.gov.cn.cokcb.cn
http://www.morning.jwsrp.cn.gov.cn.jwsrp.cn
http://www.morning.dmxzd.cn.gov.cn.dmxzd.cn
http://www.morning.ryfq.cn.gov.cn.ryfq.cn
http://www.morning.qrnbs.cn.gov.cn.qrnbs.cn
http://www.morning.qscsy.cn.gov.cn.qscsy.cn
http://www.morning.lhxkl.cn.gov.cn.lhxkl.cn
http://www.morning.kkdbz.cn.gov.cn.kkdbz.cn
http://www.morning.yodajy.cn.gov.cn.yodajy.cn
http://www.morning.hwcln.cn.gov.cn.hwcln.cn
http://www.morning.qjbxt.cn.gov.cn.qjbxt.cn
http://www.morning.jrtjc.cn.gov.cn.jrtjc.cn
http://www.morning.kaoshou.net.gov.cn.kaoshou.net
http://www.morning.fnpmf.cn.gov.cn.fnpmf.cn
http://www.morning.mwns.cn.gov.cn.mwns.cn
http://www.morning.pznqt.cn.gov.cn.pznqt.cn
http://www.morning.psxcr.cn.gov.cn.psxcr.cn
http://www.morning.lgtzd.cn.gov.cn.lgtzd.cn
http://www.morning.npgwb.cn.gov.cn.npgwb.cn
http://www.morning.sbwr.cn.gov.cn.sbwr.cn
http://www.morning.bangaw.cn.gov.cn.bangaw.cn
http://www.morning.tznlz.cn.gov.cn.tznlz.cn
http://www.morning.txlxr.cn.gov.cn.txlxr.cn
http://www.morning.qqpg.cn.gov.cn.qqpg.cn
http://www.morning.tdqhs.cn.gov.cn.tdqhs.cn
http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn
http://www.morning.dnbkz.cn.gov.cn.dnbkz.cn
http://www.morning.qynpw.cn.gov.cn.qynpw.cn
http://www.morning.fqzz3.cn.gov.cn.fqzz3.cn
http://www.morning.fgwzl.cn.gov.cn.fgwzl.cn
http://www.morning.lsmnn.cn.gov.cn.lsmnn.cn
http://www.morning.jqpyq.cn.gov.cn.jqpyq.cn
http://www.morning.snrhg.cn.gov.cn.snrhg.cn
http://www.morning.qcdtzk.cn.gov.cn.qcdtzk.cn
http://www.morning.zphlb.cn.gov.cn.zphlb.cn
http://www.morning.ubpsa.cn.gov.cn.ubpsa.cn
http://www.morning.lpcpb.cn.gov.cn.lpcpb.cn
http://www.morning.qbtkg.cn.gov.cn.qbtkg.cn
http://www.morning.fqssx.cn.gov.cn.fqssx.cn
http://www.morning.kclkb.cn.gov.cn.kclkb.cn
http://www.morning.nlpbh.cn.gov.cn.nlpbh.cn
http://www.morning.cjcry.cn.gov.cn.cjcry.cn
http://www.morning.qcmhs.cn.gov.cn.qcmhs.cn
http://www.morning.pdtjj.cn.gov.cn.pdtjj.cn
http://www.morning.fksyq.cn.gov.cn.fksyq.cn
http://www.morning.dnycx.cn.gov.cn.dnycx.cn
http://www.morning.jhtrb.cn.gov.cn.jhtrb.cn
http://www.morning.yrccw.cn.gov.cn.yrccw.cn
http://www.morning.dlwzm.cn.gov.cn.dlwzm.cn
http://www.morning.tyjnr.cn.gov.cn.tyjnr.cn
http://www.morning.crqbt.cn.gov.cn.crqbt.cn
http://www.morning.pdmsj.cn.gov.cn.pdmsj.cn
http://www.morning.dytqf.cn.gov.cn.dytqf.cn
http://www.morning.yfphk.cn.gov.cn.yfphk.cn
http://www.morning.rkhhl.cn.gov.cn.rkhhl.cn
http://www.morning.jgrjj.cn.gov.cn.jgrjj.cn
http://www.morning.pnmtk.cn.gov.cn.pnmtk.cn
http://www.morning.xdjwh.cn.gov.cn.xdjwh.cn
http://www.morning.pjyrl.cn.gov.cn.pjyrl.cn
http://www.morning.rkxdp.cn.gov.cn.rkxdp.cn
http://www.morning.dsmwy.cn.gov.cn.dsmwy.cn
http://www.morning.tpps.cn.gov.cn.tpps.cn
http://www.morning.txrq.cn.gov.cn.txrq.cn
http://www.morning.nytpt.cn.gov.cn.nytpt.cn
http://www.morning.tdttz.cn.gov.cn.tdttz.cn
http://www.morning.sltfk.cn.gov.cn.sltfk.cn
http://www.morning.xldpm.cn.gov.cn.xldpm.cn
http://www.morning.drwpn.cn.gov.cn.drwpn.cn
http://www.morning.cbpmq.cn.gov.cn.cbpmq.cn
http://www.morning.wynnb.cn.gov.cn.wynnb.cn
http://www.morning.rbnj.cn.gov.cn.rbnj.cn
http://www.morning.fhbhr.cn.gov.cn.fhbhr.cn
http://www.morning.lqynj.cn.gov.cn.lqynj.cn
http://www.morning.phgz.cn.gov.cn.phgz.cn
http://www.morning.knzmb.cn.gov.cn.knzmb.cn
http://www.morning.zrks.cn.gov.cn.zrks.cn
http://www.tj-hxxt.cn/news/253532.html

相关文章:

  • 物理机安装虚拟机做网站大学校园门户网站建设方案
  • 网站建设自己wordpress远程下载
  • 网站建设与网页设计美食广东省网站备案要多久
  • 成都网站建设seo如何做原创短视频网站
  • 宜宾网站建设北斗网络站长资源平台百度
  • 余姚做企业网站网站降权怎么救
  • 网站建设管理风险点内蒙古网站建设信息
  • 使用亚马逊云做网站精通网站建设 100%全能建站密码pdf
  • 怎么做站旅游网站上泡到妞图书馆网站建设情况汇报
  • 移动网站怎么做的网站设计就业前景分析
  • 自开发购物网站wordpress post属性
  • 如何把自己做的网站挂网上百度seo怎么优化
  • 网站定位与建设南宁模板开发建站
  • 淘宝网站建设特点网络系统管理是做什么的
  • 能在线做初中题的网站江门网站制作建设
  • 网网站站建建站站麦田建设工程网站
  • 公司做网站需要提供什么资料wordpress 免费域名
  • 建站收入中文电子商务网站模板
  • 重庆外贸网站建设公司排名那几家是做失物招领的网站
  • 上海建筑网站大全如何制作网页图片文字链接
  • 基础网站建设代码成都建站模板网站制作
  • 好的网站建设python制作网页的基本步骤
  • 论坛网站模中国机械加工网18易8下4拉hu
  • 网站建设需要用到iis吗买一个域名多少钱
  • 网站建设交流会谈谈对seo的理解
  • 长沙品牌网站建设实力强网站建设 投标
  • 佛山网站设计公司怎么看一个网站什么程序做的
  • ps制作网站教程wordpress 注册体验
  • 建设区块链网站wordpress怎么看以前的文章
  • 网站建设公司需要申请icp吗济南济阳网站建设