Refactor JobExecutionContext, add scheduler state support
- Refactored JobExecutionContext to use init-only properties and added State and SelfHandle for richer context. - Updated JobInfo field layout for clarity and memory alignment. - JobScheduler now accepts and exposes an optional state object, passed to each job context. - Improved memory management by using _freeList for allocations and disposal. - WorkerThread and benchmarks updated to use new JobExecutionContext pattern. - Bumped version to 1.6.1 and performed minor code cleanup.
This commit is contained in:
@@ -4,17 +4,21 @@ public readonly ref struct JobExecutionContext
|
||||
{
|
||||
public int ThreadIndex
|
||||
{
|
||||
get;
|
||||
get; init;
|
||||
}
|
||||
|
||||
public IJobScheduler JobScheduler
|
||||
{
|
||||
get;
|
||||
get; init;
|
||||
}
|
||||
|
||||
public JobExecutionContext(int threadIndex, IJobScheduler jobScheduler)
|
||||
public object? State
|
||||
{
|
||||
ThreadIndex = threadIndex;
|
||||
JobScheduler = jobScheduler;
|
||||
get; init;
|
||||
}
|
||||
|
||||
public JobHandle SelfHandle
|
||||
{
|
||||
get; init;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user