Java线程
文章平均质量分 75
再见代码
万万没想到
展开
-
Java多线程(1)——同步机制
创建线程的两种方式:1. extends Thread2. implements Runnable那么我们在此先比较一下两者的优缺点详见:http://blog.csdn.net/michellehsiao/article/details/7639788这里点出一下二者的区别:通过以上比较我们即可得出Thread与Runnable的区别:1、Runnab原创 2013-12-25 23:07:20 · 948 阅读 · 0 评论 -
Java多线程(3)——死锁问题
死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持原创 2013-12-26 20:41:54 · 987 阅读 · 0 评论 -
Java多线程(4)——线程通信
问题线程之间的关系是平等的,彼此之间并不存在任何依赖,它们各自竞争CPU资源,互不相让,并且还无条件地阻止其他线程对共享资源的异步访问。然而,也有很多现实问题要求不仅要同步的访问同一共享资源,而且线程间还彼此牵制,通过相互通信来向前推进。那么,多个线程之间是如何进行通信的呢?解决思路在现实应用中,很多时候都需要让多个线程按照一定的次序来访问共享资源,例如,经典的生产者和消费原创 2013-12-27 23:53:14 · 913 阅读 · 0 评论 -
Java多线程(5)——线程池
线程池的技术背景在面向对象编程中,由于创建一个对象获取内存资源或者其他更多资源,创建和销毁对象是很费时间和资源的。在java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务效率的一种方式便是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键问题,其实这就是一些“池化资源”技术产生的原因。原创 2014-01-01 22:39:44 · 1052 阅读 · 0 评论 -
Java多线程(2)——单例模式
首先,介绍一下单例模式:在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。正是由于这个特点,单例对象通常作为程序中的存放配置信息的载体,因为它能保证其他对象读到一致的信息。例如在某个服务器程序中,该服务器的配置信息可能存放在数据库或 文件中,这些配置数据由某个单例对象统一读取,服务进程中的其他对象如果要获取这些配置信息,只需访问该单例对象即可。这种方式极大地简化了在复原创 2013-12-26 09:19:49 · 752 阅读 · 0 评论