10 2015 档案

摘要:GUI事件处理和绘图代码在一个被称为事件分发线程的特殊线程中执行。如果一个事件需要很长的时间处理,线程就不能顾及到队列中的其他任务。为了解决这个问题,可以运行费时的任务来处理单独线程中的事件。SwingWorker是一个实现Runnable的抽象类,可以定义一个任务来扩展SwingWorker,使用 阅读全文
posted @ 2015-10-21 13:51 Devinzx 阅读(1456) 评论(0) 推荐(0)
摘要:通过保证临界区上多个线程的相互排斥,线程同步完全可以避免竞争状态的发生,但是有时还需要线程之间的协作。有两种方式可用于线程间的通信。 1.使用条件Condition Condition接口: 1 +await():void 当前线程等待直到发生某个条件 2 +signal():void 唤醒一个等待 阅读全文
posted @ 2015-10-21 12:36 Devinzx 阅读(175) 评论(0) 推荐(0)
摘要:如果一个共享资源被多个线程同时访问,可能会遭到破坏。举个例子说明这个问题,假设创建并启动100个线程,每个线程都往同一个账户中添加一个便士,代码如下: 1 import java.util.concurrent.ExecutorService; 2 import java.util.concurre 阅读全文
posted @ 2015-10-20 00:52 Devinzx 阅读(178) 评论(0) 推荐(0)
摘要:创建任务和线程 任务就是对象,为了创建任务,必须首先为任务定义一个类。任务类必须实现Runnable接口。Runnable接口非常简单,它只有一个run方法。需要实现这个方法来告诉系统线程将如何运行。 任务必须在线程中执行。Thread类包括创建线程的构造方法以及控制线程的很多有用的方法。 1 +T 阅读全文
posted @ 2015-10-19 21:07 Devinzx 阅读(180) 评论(0) 推荐(0)