04 2014 档案

摘要:Java Thread wait, notify和notifyAll示例Java上的Object类定义了三个final方法用于不同线程间关于某资源上的锁状态交互,这三个方法是:wait(), notify()和notifyAll()。当前线程可以在任意对象上调用上述的方法,前提是当前线程是此对象的监... 阅读全文
posted @ 2014-04-13 22:21 utopiar 阅读(976) 评论(0) 推荐(0)
摘要:Java Thread Sleep示例java.lang.Thread sleep(long millis)方法被用来暂停当前线程的执行,暂停时间由方法参数指定,单位为毫秒。注意参数不能为负数,否则程序将会抛出IllegalArgumentException。还有另外一个sleep(long mil... 阅读全文
posted @ 2014-04-13 16:55 utopiar 阅读(6201) 评论(1) 推荐(1)
摘要:Java Thread join示例与详解Java Thread join方法用来暂停当前线程直到join操作上的线程结束。java中有三个重载的join方法:public final void join():此方法会把当前线程变为wait,直到执行join操作的线程结束,如果该线程在执行中被中断,则会抛出InterruptedException。public final synchronized void join(long millis):此方法会把当前线程变为wait,直到执行join操作的线程结束或者在执行join后等待millis的时间。因为线程调度依赖于操作系统的实现,因为这并不能 阅读全文
posted @ 2014-04-12 23:42 utopiar 阅读(2568) 评论(1) 推荐(0)
摘要:线程生命周期-理解Java中的线程状态在多线程编程环境下,理解线程生命周期和线程状态非常重要。在上一篇教程中,我们已经学习了如何创建java线程:实现Runnable接口或者成为Thread的子类,但启动一个java线程,则需要先创建一个Thread实例,然后调用此实例上的start(),这个线程就被启动了并会调用run()方法执行任务。线程状态下图展示了java线程中的几种不同状态,我们创建一个线程并启动它,但该线程何时从状态Runnable变为Running以及Blocked则取决于操作系统的线程调度实现,所以Java对状态变更是无能为力的。New当使用new操作创建一个新Thread实例 阅读全文
posted @ 2014-04-12 21:59 utopiar 阅读(1287) 评论(0) 推荐(0)