summaryrefslogtreecommitdiff
path: root/src/actors
diff options
context:
space:
mode:
authorPhilipp Haller <hallerp@gmail.com>2007-06-19 15:10:50 +0000
committerPhilipp Haller <hallerp@gmail.com>2007-06-19 15:10:50 +0000
commitc378489a951a6a250dd1a151a743e98bd22c5445 (patch)
tree26d4119d3991fc39c4cd3c8b0d29885ad549d87e /src/actors
parent7b6fe636f87ec3e5643adb6d6fc36a800b8e2022 (diff)
downloadscala-c378489a951a6a250dd1a151a743e98bd22c5445.tar.gz
scala-c378489a951a6a250dd1a151a743e98bd22c5445.tar.bz2
scala-c378489a951a6a250dd1a151a743e98bd22c5445.zip
Removed dependency on Reaction in scheduling su...
Removed dependency on Reaction in scheduling subsystem.
Diffstat (limited to 'src/actors')
-rw-r--r--src/actors/scala/actors/FJTaskScheduler2.scala8
-rw-r--r--src/actors/scala/actors/Reaction.scala4
-rw-r--r--src/actors/scala/actors/Scheduler.scala19
-rw-r--r--src/actors/scala/actors/TickedScheduler.scala8
4 files changed, 13 insertions, 26 deletions
diff --git a/src/actors/scala/actors/FJTaskScheduler2.scala b/src/actors/scala/actors/FJTaskScheduler2.scala
index 22d3627333..4cc59044ee 100644
--- a/src/actors/scala/actors/FJTaskScheduler2.scala
+++ b/src/actors/scala/actors/FJTaskScheduler2.scala
@@ -123,15 +123,11 @@ class FJTaskScheduler2 extends Thread with IScheduler {
/**
* @param item the task to be executed.
*/
- def execute(task: Reaction) {
+ def execute(task: Runnable) {
executor.execute(task)
}
- def execute(task: FJTask) {
- executor.execute(task)
- }
-
- def start(task: Reaction) {
+ def start(task: Runnable) {
this.synchronized {
pendingReactions = pendingReactions + 1
}
diff --git a/src/actors/scala/actors/Reaction.scala b/src/actors/scala/actors/Reaction.scala
index 8cf8c8c12c..bbcf34f75a 100644
--- a/src/actors/scala/actors/Reaction.scala
+++ b/src/actors/scala/actors/Reaction.scala
@@ -31,7 +31,7 @@ private[actors] class ExitActorException extends Throwable
* <code>java.lang.Runnable</code></a>.
* </p>
*
- * @version 0.9.7
+ * @version 0.9.8
* @author Philipp Haller
*/
private[actors] class Reaction(a: Actor,
@@ -39,8 +39,6 @@ private[actors] class Reaction(a: Actor,
msg: Any) extends Runnable {
def this(a: Actor) = this(a, null, null)
- def actor = a
-
def run() {
val saved = Actor.tl.get.asInstanceOf[Actor]
Actor.tl.set(a)
diff --git a/src/actors/scala/actors/Scheduler.scala b/src/actors/scala/actors/Scheduler.scala
index f5f42b6477..ea3c728004 100644
--- a/src/actors/scala/actors/Scheduler.scala
+++ b/src/actors/scala/actors/Scheduler.scala
@@ -61,8 +61,9 @@ object Scheduler {
tasks = null
}
- def start(task: Reaction) = sched.start(task)
- def execute(task: Reaction) = {
+ def start(task: Runnable) = sched.start(task)
+
+ def execute(task: Runnable) = {
val t = currentThread
if (t.isInstanceOf[FJTaskRunner]) {
val tr = t.asInstanceOf[FJTaskRunner]
@@ -97,9 +98,8 @@ object Scheduler {
trait IScheduler {
def start(): Unit
- def start(task: Reaction): Unit
- def execute(task: Reaction): Unit
- def execute(task: FJTask): Unit
+ def start(task: Runnable): Unit
+ def execute(task: Runnable): Unit
def getTask(worker: WorkerThread): Runnable
def tick(a: Actor): Unit
@@ -131,17 +131,12 @@ trait IScheduler {
class SingleThreadedScheduler extends IScheduler {
def start() {}
- def start(task: Reaction) {
- // execute task immediately on same thread
- task.run()
- }
-
- def execute(task: Reaction) {
+ def start(task: Runnable) {
// execute task immediately on same thread
task.run()
}
- def execute(task: FJTask) {
+ def execute(task: Runnable) {
// execute task immediately on same thread
task.run()
}
diff --git a/src/actors/scala/actors/TickedScheduler.scala b/src/actors/scala/actors/TickedScheduler.scala
index 737384c294..be0a6cd350 100644
--- a/src/actors/scala/actors/TickedScheduler.scala
+++ b/src/actors/scala/actors/TickedScheduler.scala
@@ -24,7 +24,7 @@ import scala.compat.Platform
* @author Philipp Haller
*/
class TickedScheduler extends Thread with IScheduler {
- private val tasks = new Queue[Reaction]
+ private val tasks = new Queue[Runnable]
// Worker threads
private val workers: Buffer[WorkerThread] = new ArrayBuffer[WorkerThread]
@@ -45,7 +45,7 @@ class TickedScheduler extends Thread with IScheduler {
def printActorDump {}
- def start(task: Reaction): Unit = synchronized {
+ def start(task: Runnable): Unit = synchronized {
pendingReactions += 1
execute(task)
}
@@ -124,7 +124,7 @@ class TickedScheduler extends Thread with IScheduler {
/**
* @param item the task to be executed.
*/
- def execute(item: Reaction): Unit = synchronized {
+ def execute(item: Runnable): Unit = synchronized {
if (!terminating) {
if (idle.length > 0) {
val wt = idle.dequeue
@@ -135,8 +135,6 @@ class TickedScheduler extends Thread with IScheduler {
}
}
- def execute(task: FJTask) { }
-
def snapshot(): LinkedQueue = null
/**