IKVM11
11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
ExecutorTaskScheduler.cs
Go to the documentation of this file.
1
using
System
;
2
using
System.Collections.Generic;
3
using
System.Threading.Tasks;
4
5
#if FIRST_PASS == false
6
7
using
java.lang
;
8
using
java.util.concurrent;
9
10
namespace
IKVM.Runtime.Util.Java.Util.Concurrent
11
{
12
16
class
ExecutorTaskScheduler
: TaskScheduler
17
{
18
22
class
TaskRunnable : Runnable
23
{
24
25
readonly
ExecutorTaskScheduler
scheduler;
26
readonly Task task;
27
34
public
TaskRunnable(
ExecutorTaskScheduler
scheduler, Task task)
35
{
36
this.scheduler = scheduler ??
throw
new
ArgumentNullException(nameof(scheduler));
37
this.task = task ??
throw
new
ArgumentNullException(nameof(task));
38
}
39
40
public
void
run()
41
{
42
scheduler.TryExecuteTask(task);
43
}
44
45
}
46
47
readonly Executor executor;
48
54
public
ExecutorTaskScheduler
(Executor executor)
55
{
56
this.executor = executor ??
throw
new
ArgumentNullException(nameof(executor));
57
}
58
59
protected
override
void
QueueTask
(Task task)
60
{
61
executor.execute(
new
TaskRunnable(
this
, task));
62
}
63
64
protected
override
bool
TryExecuteTaskInline
(Task task,
bool
taskWasPreviouslyQueued)
65
{
66
return
TryExecuteTask(task);
67
}
68
69
protected
override
IEnumerable<Task>
GetScheduledTasks
()
70
{
71
return
Array.Empty<Task>();
72
}
73
74
}
75
76
}
77
78
#endif
IKVM.Runtime.Util.Java.Util.Concurrent.ExecutorTaskScheduler
TaskScheduler implementation that executes tasks on a Executor.
Definition
ExecutorTaskScheduler.cs:17
IKVM.Runtime.Util.Java.Util.Concurrent.ExecutorTaskScheduler.QueueTask
override void QueueTask(Task task)
Definition
ExecutorTaskScheduler.cs:59
IKVM.Runtime.Util.Java.Util.Concurrent.ExecutorTaskScheduler.ExecutorTaskScheduler
ExecutorTaskScheduler(Executor executor)
Initializes a new instance.
Definition
ExecutorTaskScheduler.cs:54
IKVM.Runtime.Util.Java.Util.Concurrent.ExecutorTaskScheduler.GetScheduledTasks
override IEnumerable< Task > GetScheduledTasks()
Definition
ExecutorTaskScheduler.cs:69
IKVM.Runtime.Util.Java.Util.Concurrent.ExecutorTaskScheduler.TryExecuteTaskInline
override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued)
Definition
ExecutorTaskScheduler.cs:64
IKVM.Runtime.Util.Java.Util.Concurrent
Definition
ExecutorExtensions.cs:9
System
Definition
HexConverter.cs:9
java.lang
Definition
IterableExtensions.cs:8
src
IKVM.Runtime
Util
Java
Util
Concurrent
ExecutorTaskScheduler.cs
Generated by
1.12.0