- 博客(7)
- 收藏
- 关注
原创 JAVA线程-死锁
.什么是死锁?如果一个进程集合里面的每个进程都在等待这个集合中的其他一个进程(包括自身)才能继续往下执行,若无外力他们将无法推进,这种情况就是死锁,处于死锁状态的进程称为死锁进程。.死锁的原因?1.因竞争资源发生死锁 现象:系统中供多个进程共享的资源的数目不足以满足全部进程的需要时,就会引起对诸资源的竞争而发生死锁现象2.进程推进顺序不当发生死锁.死锁示例:public class Deadloc...
2018-04-23 22:17:30 139
原创 JAVA并发访问--线程池
1.前言: 在一个 JVM 里创建太多的线程可能会导致系统由于过度消耗内存而用完内存或“切换过度”。为了防止资源不足,服务器应用程序需要一些办法来限制任何给定时刻处理的请求数目。2.线程池的作用:线程池为线程生命周期开销问题和资源不足问题提供了解决方案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。其好处是,因为在请求到达时线程已经存在,所以无意中也消除了线程创建所带来的延迟。这样,...
2018-04-22 21:38:12 219
原创 JAVA同步-生产者与消费者实现 三
生产者消费者模型:实现手段:在Condition类中 await()和 signalAll()方法实现:这种方式类似于 wait()和notifAll()的方法,但是此类方法实现 有新特性,引入了Lock机制,动态的控制锁机制,来完成临界资源同步的线程运行;问题描述:汽车打蜡抛光问题:一个汽车先打蜡再抛光也可以多次重复操作! 打蜡未...
2018-04-21 16:28:28 215
原创 JAVA同步-生产者与消费者实现 二
生产者消费者模型:实现手段:LinkedBlockingQueue(阻塞队列)实现; //LinkedBlockingQueue:底层为链表实现的队列位于 java.lang.Object-->java.util.AbstractCollection<E>-->java.util.AbstractQueue<E>--> java.util.concur...
2018-04-18 12:16:12 179
原创 JAVA同步-生产者与消费者实现 一
生产者消费者模型:实现手段 用wait(),notifALL()实现; 问题描述:在一个餐馆里,有一个厨师(做食物),有一个伙计(端食物/消费); 食物为空时:伙计不能再端食物,此时通知厨师要做菜; 食物不为空时: 厨师就不再做食物,通知伙计消费食物;//此处问题抽象:厨师每次只能做一样食物(只有一个盘子),可以做多次; 食物类:cl...
2018-04-16 20:00:12 541
原创 JAVA中来实现并发访问方式 二
实现Runnable接口其实在第一种方法中:Thread也是实现了Runnable接口public class Thread extends Object implements Runnable线程是程序中执行的线程。 Java虚拟机允许应用程序同时执行多个执行线程。 每个线程都有优先权。 具有较高优先级的线程优先于优先级较低的线程执行。 每个线程可能也可能不会被标记为守护程序。 当在某个线程中...
2018-04-07 21:27:57 252
原创 JAVA中来实现并发访问方式 一
基础知识:1.市场要求:所有的系统(软件,网站)都是要高并发;2.并发:例如一个网站同时有多个人来访问;3.进程:相当于一个独立的内存空间(任务管理器中的一个任务就是一个进程)4.线程:在一个进程中有多个线程,它是完成并发操作的工具;多线程在CPU中的分配:JAVA中的多线程(多并发),不是真正的并发,是通过多个线程来抢CPU的时间片,CPU通过轮转时间片来通过实现多线程访问的;JAVA中来实现并...
2018-04-02 23:37:57 1164
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人