自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

转载 java常用的几种线程池比较

1. 为什么使用线程池 诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的。 构建服务器应用程...

2018-10-08 14:32:53 151

原创 CountDownLatch的简单应用

CountDownLatch的概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。 CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。使用一个计数器进行实现。计数器初始值为线程的数量。当每一个线程完成自己任务后,计数器的值就会减一。当计数器的值为0时,表示所有的线程都已经完成了任...

2018-10-08 14:19:42 321

原创 三条线程A线程打印我 B线程打印爱 C线程打印你 如此循环十次(2种方法)

package yingshe; public class Abc { int flag=1;//开关 为1时A执行,2时B执行,3时C执行 public synchronized void Aa(){ if(flag==1){ System.out.print("我"); flag=2; this.noti...

2018-10-08 09:39:51 271

转载 类锁 synchronized对象锁 和 Lock对象锁

在并发环境下,解决共享资源冲突问题时,可以考虑使用锁机制。 对象锁 所有对象都自动含有单一的锁。 JVM负责跟踪对象被加锁的次数。如果一个对象被解锁,其计数变为0。在任务(线程)第一次给对象加锁的时候,计数变为1。每当这个相同的任务(线程)在此对象上获得锁时,计数会递增。 只有首先获得锁的任务(线程)才能继续获取该对象上的多个锁。 每当任务离开一个synchronized方法,计数递减,当计数...

2018-10-07 19:31:34 332

转载 synchronized死锁案例

synchronized死锁案例 同步可以保证资源共享操作的正确性,但是过多同步也会产生死锁问题 class Zhangsan{ // 定义张三类 public void say(){ System.out.println("张三对李四说:“你给我娃娃,我就把糖给你。”") ; } public void get(){ System...

2018-10-07 19:28:45 278

原创 Lock死锁的案例

死锁的案例 死锁:线程A和线程B相互等待对方持有的锁导致程序无限死循环下去 (1)两个线程里面分别持有两个Object对象:lock1和lock2。这两个lock作为同步代码块的锁; (2)线程1的run()方法中同步代码块先获取lock1的对象锁,Thread.sleep(xxx),然后接着获取lock2的对象锁。这么做主要是为了防止线程1启动一下子就连续获得了lock1和lock2两个对象的对...

2018-10-07 18:35:38 452

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除