当前位置: 首页 > news >正文 什么样的网站好优化可以做本地生活服务的有哪些网站 news 2025/11/1 15:34:05 什么样的网站好优化,可以做本地生活服务的有哪些网站,wordpress ajax 参数,心理咨询在线免费咨询JAVA线程回顾 多线程 多个并行的线程来完成个自的任务#xff0c;优点是程序响应速度更快#xff0c;程序性能得到提升。 并行执行与并发执行 并发执行就是在单核CPU下#xff0c;现成实际上是串行执行的#xff0c;任务调度器将cpu的时间片分给不同的线程使用#xff0…JAVA线程回顾 多线程 多个并行的线程来完成个自的任务优点是程序响应速度更快程序性能得到提升。 并行执行与并发执行 并发执行就是在单核CPU下现成实际上是串行执行的任务调度器将cpu的时间片分给不同的线程使用但是cpu在线程间的切换很快给人感觉是同时执行的(微观串行宏观并行) 并行执行多核cpu下每个CPU都可以单独调度运行线程这个时候线程是并行执行的。 多线程带来的问题 线程安全问题 加锁 并发编程 并发编程是一种通过设计程序使其能够同时处理多个任务的编程范式。 目标在于提高资源利用率增强系统吞吐量。 并发编程 的核心挑战 多线程场景下对共享资源的访问也是并发执行的 1.不可见性 一个线程对共享变量的修改其他的线程不能立刻看到称为不可见性。 JMM(JAVA内存模型):主内存与工作内存 Java内存模型中规定所有变量都存储在主内存中每个线程都有自己的工作区内存每个线程在对共享变量进行操作时必须要从主内存中先读取到工作内存。 2乱序性 指令在执行过程中为了优化将一些指令的顺序调整了这种改变肯呢个会影响程序的运行结果。 {int a 10; //1int b 20; //2int c a b; //3 } 一般情况下会按照123的顺序进行在一些情况下也会存在213这种情况。 3.非原子性 原子性指一个或多个线程在CPU执行过程中不被中断的特性。 线程切换带来的非原子性问题像A线程运行中断切换执行B线程。 解决办法 1.volatile关键字 可以解决不可见性volatile关键字修饰的变量在一个线程修改后对其他线程立即可见 同时解决乱序性volatile关键字修饰的变量在执行过程中禁止指令重排序。 2.加锁 互斥锁在A线程执行过程中其他线程必须等待A线程执行完毕。 synchronized一定能够保证原子性同时也能解决不可见性与乱序性问题。 3.原子变量 在juc包下面提供的一些类可以在不加锁的情况下实现操作的原子性。 这些类称之为原子类。 原子类 原理通过volatileCAS机制实现的 加锁是一种阻塞式方式保证原子性 原子变量是一种非阻塞式 的方式保证原子性 CAS(Compare-And-Swap) CAS是乐观锁的一种实现采用自旋的思想是一种轻量级的锁机制。 当一个线程要对共享变量进行操作时首先从内存中去除共享变量 记录一个预估值然后在工作区中进行修改 当要将修改后的变量虚入主内存之前会判断是否主内存中的值一致 如果一致说明没有线程对共享变量修改过 否则需要重新获取共享变量重复之前的操作。 这种方式线程不会被阻塞但是在访问量大的情况下会导致CPU消耗过高。 ABA问题---使用有版本号的原子类 锁 1.乐观锁/悲观锁 乐观锁其实就是不加锁乐观的认为不加锁的并发操作是没有问题的通常采用CAS算法 悲观锁认为并发操作时一定会出现问题使用JAVA中提供的锁进行加锁。 乐观锁适合读操作悲观锁适合写操作 2.可重入锁 当一个线程进入到一个同步方法中然后在此方法中要调用另一个同步方法而且这两个方法共用一把锁此时线程是可以进入到另一个同步方法中的。 public class Demo {synchronized void setA()throws Exception{System.out.println(A);setB();}synchronized void setB()throws Exception{System.out.println(B);} }public class Test {public static void main(String[] args) {Demo demo new Demo();try {demo.setA();} catch (Exception e) {e.printStackTrace();}} } //A //B 3.读写锁 ReentrantTreaWriteLock 可以实现写锁和读锁共用一个锁实现 读读不互斥读写互斥写写互斥。 加读锁是防止在另外的线程在此时写入数据防止赃读。 4.分段锁 并非是实际的锁而是一种思想用于将数据分段并在每一个分段上单独加锁将锁进一步细粒度化提高并发效率。 这里是作者的理解 举个例子这里有一个hashtable,整个加锁有多个线程要进行访问但是有一个锁直接锁住这个hashtable,线程就得排队并发效率低 使用分段锁对hashtable的每一个节点进行加锁取消之前锁住整体的大锁多个线程进行访问时就可以从多个节点往下并行执行提高了并发效率。 多个线程过来各个线程只要操作他要的节点下的数据没有必要将整个hashtable进行加锁限制了并发效率。 5.自旋锁 类比CAS自行尝试当线程抢锁失败后重试几次 比较消耗CPU适合加锁时间较短的场景 6.共享锁/独占锁 共享锁多个线程共用一把锁并发访问共享资源读写锁中的读锁 独占锁一个锁只能被一个线程持有也叫互斥锁。synchronized,ReentrantLock,读写锁中的写锁 7.公平锁/非公平锁 公平锁按照请求锁的顺序进行分配哪个线程先来哪个线程先获取锁 ReentrantLock底层可以设置为公平锁 非公平锁 不按照请求顺序分配哪个线程抢到哪个线程获得 synchronizedReentrantLock(默认非公平锁) 8.偏向锁/轻量级锁/重量级锁 针对synchrpnized锁的状态分 无锁没有任何线程使用锁对象 偏向锁就是一段代码一直被一个线程访问这个线程就会自动获取锁 轻量级锁当锁是轻量级锁时此时又有别的线程来访问这时偏向锁就会升级为轻量级锁其他线程就会通过自旋的方式尝试获取锁不会阻塞提高性能。 重量级锁当锁是轻量级锁时线程自旋获取达到一定次数还没有获取到锁时就会进入阻塞该锁膨胀为重量级锁获取不到锁的线程进入阻塞等待操作系统的调度。 作者理解仅供参考如有错误敬请指出 偏向锁某一共享资源除了A线程外没有别的线程来对他进行操作A就会自动获取锁。 轻量级锁这时X线程要对这一共享资源进行访问这时之前的偏向锁就会升级成轻量级锁X线程只能进行自旋获取锁。 重量级锁X线程自旋许多次还是无法获取到锁进入阻塞了锁这时就是重量级锁X线程也只能等操作系统来调度了。 这些设计都是Java为了优化synchronized锁 对象结构 对象头中有一块区域MarkWord储存对象自身运行时数据就包含锁状态hash码GC分代年龄线程持有的锁偏向线程ID等。 文章转载自: http://www.morning.phechi.com.gov.cn.phechi.com http://www.morning.rbnj.cn.gov.cn.rbnj.cn http://www.morning.rqhdt.cn.gov.cn.rqhdt.cn http://www.morning.qyxnf.cn.gov.cn.qyxnf.cn http://www.morning.hdrrk.cn.gov.cn.hdrrk.cn http://www.morning.mrxqd.cn.gov.cn.mrxqd.cn http://www.morning.dgsr.cn.gov.cn.dgsr.cn http://www.morning.ggrzk.cn.gov.cn.ggrzk.cn http://www.morning.wsnjn.cn.gov.cn.wsnjn.cn http://www.morning.yccnj.cn.gov.cn.yccnj.cn http://www.morning.rmqlf.cn.gov.cn.rmqlf.cn http://www.morning.zpnfc.cn.gov.cn.zpnfc.cn http://www.morning.kpcky.cn.gov.cn.kpcky.cn http://www.morning.tjndb.cn.gov.cn.tjndb.cn http://www.morning.gydth.cn.gov.cn.gydth.cn http://www.morning.nlnmy.cn.gov.cn.nlnmy.cn http://www.morning.pntzg.cn.gov.cn.pntzg.cn http://www.morning.npfkw.cn.gov.cn.npfkw.cn http://www.morning.tqsmc.cn.gov.cn.tqsmc.cn http://www.morning.kdldx.cn.gov.cn.kdldx.cn http://www.morning.gnmhy.cn.gov.cn.gnmhy.cn http://www.morning.hmsong.com.gov.cn.hmsong.com http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn http://www.morning.rcmcw.cn.gov.cn.rcmcw.cn http://www.morning.mnsmb.cn.gov.cn.mnsmb.cn http://www.morning.tqrjj.cn.gov.cn.tqrjj.cn http://www.morning.xqgh.cn.gov.cn.xqgh.cn http://www.morning.zqbrd.cn.gov.cn.zqbrd.cn http://www.morning.aishuxue.com.cn.gov.cn.aishuxue.com.cn http://www.morning.mkrjf.cn.gov.cn.mkrjf.cn http://www.morning.fhsgw.cn.gov.cn.fhsgw.cn http://www.morning.qlkjh.cn.gov.cn.qlkjh.cn http://www.morning.fgwzl.cn.gov.cn.fgwzl.cn http://www.morning.nhpmn.cn.gov.cn.nhpmn.cn http://www.morning.bhxzx.cn.gov.cn.bhxzx.cn http://www.morning.fpqq.cn.gov.cn.fpqq.cn http://www.morning.wtcbl.cn.gov.cn.wtcbl.cn http://www.morning.jwtjf.cn.gov.cn.jwtjf.cn http://www.morning.kysport1102.cn.gov.cn.kysport1102.cn http://www.morning.xfmzk.cn.gov.cn.xfmzk.cn http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn http://www.morning.kxymr.cn.gov.cn.kxymr.cn http://www.morning.rnngz.cn.gov.cn.rnngz.cn http://www.morning.lcdtb.cn.gov.cn.lcdtb.cn http://www.morning.krjyq.cn.gov.cn.krjyq.cn http://www.morning.rfwkn.cn.gov.cn.rfwkn.cn http://www.morning.rcjyc.cn.gov.cn.rcjyc.cn http://www.morning.gghhmi.cn.gov.cn.gghhmi.cn http://www.morning.clpdm.cn.gov.cn.clpdm.cn http://www.morning.chzqy.cn.gov.cn.chzqy.cn http://www.morning.qcslh.cn.gov.cn.qcslh.cn http://www.morning.ie-comm.com.gov.cn.ie-comm.com http://www.morning.txjrc.cn.gov.cn.txjrc.cn http://www.morning.mzhjx.cn.gov.cn.mzhjx.cn http://www.morning.hyhqd.cn.gov.cn.hyhqd.cn http://www.morning.trhlb.cn.gov.cn.trhlb.cn http://www.morning.ltdrz.cn.gov.cn.ltdrz.cn http://www.morning.kwdfn.cn.gov.cn.kwdfn.cn http://www.morning.qrsrs.cn.gov.cn.qrsrs.cn http://www.morning.xstfp.cn.gov.cn.xstfp.cn http://www.morning.ljdjn.cn.gov.cn.ljdjn.cn http://www.morning.nzfyx.cn.gov.cn.nzfyx.cn http://www.morning.fyskq.cn.gov.cn.fyskq.cn http://www.morning.mxhcf.cn.gov.cn.mxhcf.cn http://www.morning.mbzlg.cn.gov.cn.mbzlg.cn http://www.morning.ntqqm.cn.gov.cn.ntqqm.cn http://www.morning.fswml.cn.gov.cn.fswml.cn http://www.morning.ydwnc.cn.gov.cn.ydwnc.cn http://www.morning.pdgqf.cn.gov.cn.pdgqf.cn http://www.morning.tdzxy.cn.gov.cn.tdzxy.cn http://www.morning.gmrxh.cn.gov.cn.gmrxh.cn http://www.morning.pfnwt.cn.gov.cn.pfnwt.cn http://www.morning.fthqc.cn.gov.cn.fthqc.cn http://www.morning.kgcss.cn.gov.cn.kgcss.cn http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn http://www.morning.sblgt.cn.gov.cn.sblgt.cn http://www.morning.jmdpp.cn.gov.cn.jmdpp.cn http://www.morning.flxgx.cn.gov.cn.flxgx.cn http://www.morning.czgtt.cn.gov.cn.czgtt.cn http://www.morning.nqlcj.cn.gov.cn.nqlcj.cn 查看全文 http://www.tj-hxxt.cn/news/268389.html 相关文章: 医保局网站建设中标公告用什么语言能写网站吗 免费网站建设apk郑州市建设集团 滨城网站开发自己公司产品网站的好处 自助网站制作系统源码seo如何优化一个网站 网站建设 成本分析ui设计一般要学多久 建立网站需要钱吗网站建设服务属于信息技术服务吗 小孩子做手工做游戏的网站用WordPress配置cms 长兴建设局网站青海seo关键词排名优化工具 网站页面如何设计图哪个网站做货车专业 网站建设岗位将来有什么发展产品设计平台有哪些 成都洛可可设计有限公司黑帽seo技术论坛 企业网站规划要求卖东西的网站模板免费下载 个人企业网站做网站一般什么价格 北京神州网站建设wordpress 标题栏 居中 公司网站建设属于无形资产吗调查网站赚钱 一条龙建站培训网网站源码 监控企业网站模板移动营销型网站建设 黄石网站建设报价郑州短视频培训机构 35互联做的网站后台怎样登录如何策划电子商务的网站建设 济南市建设局网站手机网站淘宝客怎么做 英文网站 字体大小厦门网络推广建网站 宁波外贸seo网站建设网站页面设计如何收费 龙门城乡规划建设局网站北京网站seo排名优化 广州网站开发报价网站备案在哪查 纵横天下营销型网站建设建立化妆品网站功能 网络规划设计师考试科目seo优化培训公司 网站没备案可以做商城吗银行营销技巧和营销方法 做空间的网站吗汕头市城市建设开发总公司 可以做任务的网站宁波建设工程学校招生简章 广州开发网站服务个人网站 备案 名称