Easter79 Easter79
3年前
synchronized 和 ReentrantLock的区别
synchronized是Java内建的同步机制,所以也有人称其为IntrinsicLocking,它提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其他试图获取的线程只能等待或者阻塞在那里。在Java5以前,synchronized是仅有的同步手段,在代码中,synchronized可以用来修饰方法,也可以使用在特定的代码块
Wesley13 Wesley13
3年前
Java并发(六):volatile的实现原理
synchronized是一个重量级的锁,volatile通常被比喻成轻量级的synchronizedvolatile是一个变量修饰符,只能用来修饰变量。volatile写:当写一个volatile变量时,JMM会把该线程对应的本地内存中的共享变量刷新到主内存。volatile读:当读一个volatile变量时,JMM会把该线程对应的
Stella981 Stella981
3年前
Redis缓存如何保证一致性
为什么使用Redis做缓存MySQL缺点单机连接数目有限对数据进行写速度慢Redis优点内存操作数据速度快IO复用,速度快单线程模型,避免线程切换带来的开销,速度快一致性问题  读数据的时候首先去Redis里读,没有读到再去MySQL里读,读回来之后
Stella981 Stella981
3年前
Android 异步加载
一般会使用线程Thread、Timer或者使用AsyncTask,而这些操作都是在在后台另外开一个线程给我们找数据,具体得到的数据需要使用Handler去更新UI,AsyncTask也是一样使用到的Handler只是它将Handler封装在了onPostExecute执行操作中。使用过AsyncTask的同学都知道一个异步加载数据最少要
Wesley13 Wesley13
3年前
.NET一个线程更新另一个线程的UI(两种实现方法及若干简化)
原文:.NET一个线程更新另一个线程的UI(两种实现方法及若干简化)(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.cnblogs.com%2FDebugLZQ%2Farchive%2F2012%2F11%2F12%2F2766096.html)本片博文接上一篇:.N
Wesley13 Wesley13
3年前
Java与JS代码调试技巧
断点的分类,断点可以到到类名上,变量行上,方法名上。    java源码上可以打断点,断点打到方法头上,编译的时候断点信息不会被去除掉,编译后的class文件在debug模式下运行,可以触发断点,挂起线程。    eclipse的断点,都可以进行属性设置,设置断点触发的场景(例如,断点的可用性,触发场景,过滤执行线程)。  
Wesley13 Wesley13
3年前
ABA问题的本质及其解决办法
点击上方的蓝字关注我吧_程序那些事_简介CAS的全称是compareandswap,它是java同步类的基础,java.util.concurrent中的同步类基本上都是使用CAS来实现其原子性的。CAS的原理其实很简单,为了保证在多线程环境下我们的更新是符合预期的,或者说一个线程在更新某个对象的时
小白学大数据 小白学大数据
1个月前
Python爬虫多线程并发时的503错误处理最佳实践
一、503错误产生的原因在HTTP协议中,503错误表示服务器当前无法处理请求,通常是因为服务器暂时过载或维护。在多线程爬虫场景下,503错误可能由以下几种原因引起:1.服务器负载过高:当多个线程同时向服务器发送请求时,服务器可能因负载过高而拒绝部分请求,