并发
文章平均质量分 53
日向彻永垂不朽
这个作者很懒,什么都没留下…
展开
-
Java 线程通信的常用方式
等待通知机制等待通知模式是 Java 中比较经典的线程通信方式。两个线程通过对同一对象调用等待 wait() 和通知 notify() 方法来进行通讯。如两个线程交替打印奇偶数:public class TwoThreadWaitNotify { private int start = 1; private boolean flag = false; pu...转载 2018-10-29 11:11:33 · 199 阅读 · 0 评论 -
java synchronized(静态同步方法、非静态同步方法及同步块)
同步方法 同步方法所拥有的锁就是该方法所属的类的对象锁,换句话说,也就是this对象,而且锁的作用域也是整个方法,这可能导致其锁的作用域可能太大,也有可能引起死锁,同时因为可能包含了不需要进行同步的代码块在内,也会降低程序的运行效率。同步方法的锁 同步方法分为静态同步方法与非静态同步方法。非静态同步方法 所有的非静态同步方法用的都是同一把锁——实例对象本身,也就是说如果一个实例...原创 2018-10-19 19:51:51 · 4011 阅读 · 0 评论 -
Java 多线程之问题总结
1、多线程有什么用?一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然",“会用"只是"知其然”,“为什么用"才是"知其所以然”,只有达到"知其然知其所以然"的程度转载 2018-10-16 21:27:20 · 646 阅读 · 0 评论 -
Java 线程池的解析
线程池线程池的简介很简单,简单看名字就知道是装有线程的池子,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用。线程池的好处我们知道不用线程池的话,每个线程都要通过new Thread(xxRunnable).start()的方式来创建并运行一个线程,线程少的话这不会是问题,而真实环境可能会开启多个线程让系统和程序达到最佳效率,当线程...原创 2018-10-16 20:30:46 · 256 阅读 · 0 评论 -
进程间通信的方式?线程间通信的方式?
进程间通信的方式管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道 (named pipe) :有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量(semophore ) :信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访...原创 2019-01-10 20:39:05 · 452 阅读 · 0 评论 -
关于秒杀系统的一些设计思路
上级限流针对于浏览器端,可以使用JS进行请求过滤,比如5秒钟之类只能点一次抢购按钮,5秒钟只能允许请求一次后端服务。这样其实就可以过滤掉大部分普通用户。但是防不住直接抓包循环调用。这种情况可以最简单的处理:在Web层通过限制一个UID在5秒之类的请求服务层的次数(可利用Redis实现)。具体实现:进入方法时,判断是否包含某个UID,不存在就是第一次请求,那么可以设置一个过期时间和次数;存在...原创 2019-03-06 22:43:27 · 404 阅读 · 1 评论