JAVA并发处理经验(一)多线程总结
2016-01-12 10:41
381 查看
一、前言
本来没有准备写这个的。但是还是为了自己,同时也是为了别人。将我看书获得的一些体会写出来,希望有缘分的朋友看得到。这个只是一些提纲性的东西,本身就是自己看的,估计懂的少了。实在需要,我可以细心讲解。在下一步看线程池的时候,我总结一下JDK的一些多线程管理的知识。二、多线程总结
前面我们讲解了线程多线程:* 主要讲解了一些锁定概念,锁保证了线程的安全;
* object+synchnozed:wait+notify
* 线程方法总结:
* 1\suspend挂起+resume恢复=会产生死锁
* 2\join加入当前线程+yield谦让(暂时放弃)
* 3\线程组:达到明确知道你的线程属于哪个组
* 4\线程优先级别 默认为5,总共为1-10
* 5\守护线程,在其他线程结束之后,就结束
* 6\同步关键字synchronized
* 7\线程中的的不安全arraylist与hashmap:arraylist由于过多,list越界;hasmap的链表破坏.容易next乱指(都是由于多线程访问引起)
* 8\java基础类型被制定就不能修改指:例如Integer
* JDK线程加锁总结:
* 1\synchronized扩展,重入锁RenntrantLok.重入锁需要自己控制lock与unlock;
* 2\reentrantLock的中断可以避免死锁
* 3\RenntacntLock可以使用trylock 可以设置时间等待
*4\重入锁的公平锁
* 5\重入锁的好搭档 condition 的wait与sigal
* 6\信号量semahpore----准许同时可以访问
* 7\信号量升级版本 读写所ReadWriteLock 写写互斥
* 8\倒计时CountDownLathc-----计数实现任务;(cyclicBarrier循环栅栏)
* 9线程阻塞-----park与unpark 另一个unpar可以解锁另一个park
相关文章推荐
- 轻量级javaEE企业应用实战 学习问题记录1
- 【第八章】 对ORM的支持 之 8.3 集成iBATIS ——跟我学spring3
- spring quartz 定时任务同时间执行2次的问题
- Java Classloader机制解析
- 每日一算法--java的16进制与字符串的相互转换函数
- java 枚举类型enum 的使用
- Eclipse"启动"问题:Failed to load the JNI shared library jvm.dll
- Java中List与Map初始化的一些写法分享
- Spring中@Autowired注解、@Resource注解的区别
- java 线程、线程池基本应用演示样例代码回想
- Eclipse闪退/打不开/无法启动/一闪而过
- 【第八章】 对ORM的支持 之 8.2 集成Hibernate3 ——跟我学spring3
- 解决remove @override annotation(jdk1.5和jdk1.6)
- 深入理解java异常处理机制
- java转义字符对照表
- SFTPTool 和 FTPTooL.java
- spring boot 学习小结1 spring mvc环境搭建
- eclipse下如何打开ftl文件
- AndroidStudio快捷键和Eclipse快捷键对比
- Eclipse添加默认的JRE