并发编程
文章平均质量分 91
qq_15037067
爱好算法,
展开
-
多线程3
1 线程池 线程池的基本思想是对象池的思想,即开辟出一块内存区域来存放未死亡的线程,池中线程调度由池管理器来处理,当有线程任务是从池中取出一个,执行完后,线程对象归池。避免反复创建线程对象带来的性能开销 原因: 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间 如果:T1 + T3 远大于 T2,则可以采用线原创 2017-07-28 11:13:49 · 193 阅读 · 0 评论 -
java 多线程
1 信号量 Semaphore 1 信号量 可以控制某个资源被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数 Semaphore实现的功能就类似厕所有5个坑,假如有10个人要上厕所,那么同时只能有多少个人去上厕所呢?同原创 2017-07-28 14:54:25 · 134 阅读 · 0 评论 -
java线程2
1 同步 原因 防止多个线程访问同一个数据时,对数据进行破坏 package myproject; public class MyTest { public static void main(String[] args) { // TODO Auto-generated method stub MyRunnable mi = new MyRunnable原创 2017-07-27 15:01:32 · 189 阅读 · 0 评论 -
java线程 1
1.线程的创建 1 实现Runnable 接口 public class MyTest { public static void main(String[] args) { // TODO Auto-generated method stub ImpRun r1 = new ImpRun("Roy"); ImpRun r2 = new ImpRun("Tom");原创 2017-07-26 14:30:56 · 165 阅读 · 0 评论 -
ReentrantLock
在ReentrantLock中很明显可以看到其中同步包括两种,分别是公平的FairSync和非公平的NonfairSync。公平锁的作用就是严格按照线程启动的顺序来执行的,不允许其他线程插队执行的;而非公平锁是允许插队的。 默认情况下ReentrantLock是通过非公平锁来进行同步的,包括synchronized关键字都是如此,因为这样性能会更好。当执行加锁操作时,公平性将由转载 2017-08-10 20:53:55 · 221 阅读 · 0 评论