码迷,mamicode.com
首页 >  
搜索关键字:加锁    ( 2232个结果
多线程系列八:线程安全
一、线程安全 1. 怎样让多线程下的类安全起来 无状态、加锁、让类不可变、栈封闭、安全的发布对象 2. 死锁 2.1 死锁概念及解决死锁的原则 一定发生在多个线程争夺多个资源里的情况下,发生的原因是每个线程拿到了某个(某些)资源不释放,同时等待着其他线程所持有的资源。 解决死锁的原则就是确保正确的获 ...
分类:编程语言   时间:2018-05-01 14:01:56    阅读次数:157
009 线程安全问题
一. 概述 在之前我们说过线程由于操作共同的资源就可能会出现线程安全问题, 说白了就是产生了错误的结果. 解决的方式: 我们一般都会使用加锁的方式来完成. 二 . 原子性 加锁的的核心: 就是将操作共享资源的代码编程原子性的操作,这一段代码我们称为临界区. 临界区的代码只允许一个线程运行完才能让其他 ...
分类:编程语言   时间:2018-05-01 12:38:36    阅读次数:186
OO第二次博客作业
一、作业分析与总结 第五次作业是多线程电梯,线程的协同主要体现在两方面,一方面是从输入中获得请求和加入到请求队列和从请求队列中拿请求,另一方面是从请求队列中拿请求和获取电梯状态进行判断来分配请求,同步控制方法主要是对请求队列和电梯对象的方法加锁,同时通过线程sleep来确保线程间数据同步。 第六次作 ...
分类:其他好文   时间:2018-04-30 22:19:41    阅读次数:226
当我们在谈论JMM(Java memory model)的时候,我们在谈论些什么
前面几篇中,我们谈论了synchronized、final以及voilate的用法和底层实现,都绕不开一个话题-Java内存模型(java memory model,简称JMM)。Java内存模型是保证线程安全的基础,主要描述了程序中全序的同步动作在不同线程访问共享全局变量时所体现的原子性、可见性和 ...
分类:编程语言   时间:2018-04-30 20:01:15    阅读次数:244
Java 知识点(转)
1、servlet执行流程 客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request、response对象传递给找到的servlet,servlet根据request就可以知道是谁发出的请求,请 ...
分类:编程语言   时间:2018-04-30 15:35:24    阅读次数:174
001 并发
一 ,并发 对于并发来说,存在很多的问题,造成了我们根本不知道我们的程序在什么情况下是正确的. 这个问题好像很荒唐,不能进行测试吗?不能加锁吗? 测试环境下,我们很能模拟出高并发的业务场景的展现,也就是说,我们的测试环境的搭建都不是一件容易的事情, 加锁: 加锁不是一件容容易的事情,锁的范围大,效率 ...
分类:其他好文   时间:2018-04-30 14:36:03    阅读次数:142
从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理
前言 见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。 超长文+多图预警,需要花费不少时间。 如果看完本文后,还对进程线程傻傻分不清,不清楚浏览器多进程、浏览器内核多线程、JS单线程、JS运行机制的区别。那么请回复我,一定是我写的还不够清晰,我来改。。。 正文开始 最近发现有不少介 ...
分类:编程语言   时间:2018-04-27 19:55:17    阅读次数:169
MySQL 加锁处理分析
MySQL 加锁处理分析 http://hedengcheng.com/?p=771 MySQL 加锁处理分析 1 背景 1 1.1 MVCC:Snapshot Read vs Current Read 2 1.2 Cluster Index:聚簇索引 3 1.3 2PL:Two-Phase Loc ...
分类:数据库   时间:2018-04-27 18:03:16    阅读次数:242
单例模式
模式定义 确保一个类只有一个示例,并提供一个全局的访问点。 示例 经典模式:多线程问题,多个线程处理时会可能有多个实例,懒汉式 同步锁:每次获取示例时都要加锁,性能上会有影响。只要在第一次创建实例的时候加锁处理即可。懒汉式线程安全 静态加载:如果对象比较大在类加载时就进行初始化,可能影响类的初始化速 ...
分类:其他好文   时间:2018-04-27 02:33:03    阅读次数:170
Java锁---偏向锁、轻量级锁、自旋锁、重量级锁
之前做过一个测试,反复执行过多次,发现结果是一样的: 1. 单线程下synchronized效率最高(当时感觉它的效率应该是最差才对); 2. AtomicInteger效率最不稳定,不同并发情况下表现不一样:短时间低并发下,效率比synchronized高,有时甚至比LongAdder还高出一点, ...
分类:编程语言   时间:2018-04-25 15:21:03    阅读次数:244
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!