
java线程
文章平均质量分 59
aguangs
这个作者很懒,什么都没留下…
展开
-
Java线程:新特征-有返回值的线程
在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。 现在Java终于有可返回值的任务(也可以叫做线程)了。 可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。 执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回...原创 2010-10-12 14:55:36 · 77 阅读 · 0 评论 -
java-公平锁与非公平锁synchorizned与ReentrantLock
1、ReentrantLock构造函数提供了2种公平性的选择: 1)创建公平锁。如果锁已经被其他线程战友有,新的请求线程会加入到等待队列,或者已经有一些线程在等待锁了。 2)创建非公平锁,线程按顺序请求获得公平锁,而一个非公平锁可以闯入,如果锁的状态可用,请求非公平锁的线程可在等待队列中向前跳跃,获得该锁。内部锁synchronized没有提供确定的公平性保证 2、在synchron...原创 2010-11-18 21:36:24 · 159 阅读 · 0 评论 -
java-tryLock可轮询可中断可定时的锁
1、从JAVA5.0开始,提供了新的选择:ReentrantLock。 2、可定时和可轮询的锁获取模式由tryLock方法实现。 3、使用tryLock试图获得的锁如果不能同时获得,就回退,并重新尝试。休眠时间由一个特定组件管理。(下面的代码完成转帐) public boolean transferMoney(Account fromAcct,AccounttoAcct,Dollar...原创 2010-11-18 21:32:21 · 329 阅读 · 0 评论 -
java-ExecutorService接口
1、ExecutorService接口扩展了Executor,实现线程生命周期的3种状态:运行、关闭、终止。最初创建的状态是运行,shutdown方法启动一个平缓的关闭过程: 1)停止接受新的任务。 2)同时等待已经提交的任务完成-包括沿未开始执行的任务 shutdownNow方法启动一个强制的关闭过程: 尝试取消所有运行中的任务和排在队伍中尚未开始的任务。 2、 public int...原创 2010-11-18 21:26:27 · 94 阅读 · 0 评论 -
java-通过钩子扩展ThreadPoolExecutor线程池
1、ThreadPoolExecutor的设计是可扩展的,它提供了几个钩子让子类去覆写 1)beforeExecute和afterExecutor:可有它们来进行信息收集。无论任务是正常地从run中返回,还是抛出一个异常,afterExecutor都会被调用。如果任务完成后抛出一个error,则afterExecute不会被调用。如果beforeExecute抛出一个RuntimeExcep...原创 2010-11-18 21:23:20 · 169 阅读 · 0 评论 -
总结---多线程(1)
多线程是java提供的一种机制,它允许多条指令在系统中并发执行,彼此间互相独立。 实现多线程的两种方式: 1.继承Thread类 步骤:1,继承Thread。 2,复写Thread类中的run方法,将多个控制单元要运行的代码存放其中。 其实run方法,就是存放线程要运行的代码区域。 3,通过建立子类对象,创建控制单元。 ...原创 2010-10-21 13:58:30 · 81 阅读 · 0 评论 -
总结---多线程(2)
线程的优先级: 线程的优先级是系统在给线程分配CPU时间片的概率,当多个线程处于执行状态等待CPU分配时间片的时候,优先级越高他获得CPU时间片的几率就越大,反之就越小。线程的优先级在1-10之间,默认为5。MAX_PRIORITY线程可以具有的最高优先级。MIN_PRIORITY线程可以具有的最低优先级。NORM_PRIORITY分配给线程的默认优先级。我们可以使用getPriority...原创 2010-10-21 13:57:37 · 70 阅读 · 0 评论 -
线程相关知识点
Executors类,提供了一系列工厂方法用于创先线程池,返回的线程池都实现了ExecutorService接口。public static ExecutorService newFixedThreadPool(int nThreads)创建固定数目线程的线程池。public static ExecutorService newCachedThreadPool()创建一个可缓存的线程池,调用exe...原创 2010-10-13 17:00:25 · 96 阅读 · 0 评论 -
Java多线程中wait语句的具体使用技巧
Java多线程在使用的时候会有很多语句需要我们具体的学习,在这其中wait()就是其中的一个。当然我们需要不断的努力学习才能掌握这一个语句的应用,下面的代码会对你学习Java <http://developer.51cto.com/art/200510/6983.htm%20%20>多线程有所帮助。 1.class ThreadA 2.{ 3.public static v...原创 2010-10-12 15:09:52 · 210 阅读 · 0 评论 -
Java线程:新特征-线程池
Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。 有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多的接口和类,熟悉这部分API特征是一项艰难的学习过程。目前有关...原创 2010-10-12 15:03:02 · 78 阅读 · 0 评论 -
java-线程中断
1、当一个方法能InterruptedException的时候,是指这个方法是一个可阻塞方法。 2、中断是一种协作机制,一个线程不能迫使其他线程停止正在做的事情,或去做其他事情,中断仅要求被中断的线程在达成某个方便停止的关键点时停止正在做的事情。 3、对于InterruptedException,只有两种选择,掩盖中断(捕获它但不处理)是错误的。 1)传递InterruptedExc...原创 2010-11-18 21:44:06 · 96 阅读 · 0 评论