C# Class CSPspEmu.Hle.Managers.HleThreadManager

Inheritance: CSPspEmu.Core.PspEmulatorComponent, IDisposable
Show file Open project: soywiz/cspspemu Class Usage Examples

Public Properties

Property Type Description
CoroutinePool CSharpUtils.Threading.CoroutinePool
Current HleThread
DispatchingThreads SCE_KERNEL_DISPATCHTHREAD_STATE
PreemptiveScheduler PreemptiveScheduler
Threads List
ThreadsById HleThread>.Dictionary

Protected Properties

Property Type Description
LastId int

Public Methods

Method Description
Create ( ) : HleThread
DebugCurrentThread ( ) : void
DeleteThread ( HleThread HleThread ) : void
ExitThread ( HleThread HleThread, int ExitStatus ) : void
GetThreadById ( int Id, bool AllowSelf = true ) : HleThread
ResumeThread ( HleThread Thread ) : void
ScheduleNext ( ) : void
StepNext ( System.Action DoBeforeSelectingNext ) : void
SuspendThread ( HleThread Thread ) : void
TerminateThread ( HleThread HleThread ) : void
UpdatedThread ( HleThread HleThread ) : void
Yield ( ) : void

Inside the active thread, yields the execution, and terminates the step.

Private Methods

Method Description
CalculateNext ( ) : HleThread
ExecuteCurrent ( HleThread Current ) : void

Execute current thread steps until it can execute other thread.

ExecuteQueuedCallbacks ( ) : void
ExecuteQueuedInterrupts ( ) : void
FindCallbackHandlerWithHighestPriority ( ) : HleThread
HleThreadManager ( ) : System
ICpuConnector ( CpuThreadState CpuThreadState ) : void
IGpuConnector ( uint PC, PspGeCallbackData CallbackData, uint Signal, SignalBehavior Behavior, bool ExecuteNow ) : void
IGpuConnector ( uint PC, PspGeCallbackData CallbackData, uint Arg, bool ExecuteNow ) : void
IInjectInitialize ( ) : void

Method Details

Create() public method

public Create ( ) : HleThread
return HleThread

DebugCurrentThread() public method

public DebugCurrentThread ( ) : void
return void

DeleteThread() public method

public DeleteThread ( HleThread HleThread ) : void
HleThread HleThread
return void

ExitThread() public method

public ExitThread ( HleThread HleThread, int ExitStatus ) : void
HleThread HleThread
ExitStatus int
return void

GetThreadById() public method

public GetThreadById ( int Id, bool AllowSelf = true ) : HleThread
Id int
AllowSelf bool
return HleThread

ResumeThread() public method

public ResumeThread ( HleThread Thread ) : void
Thread HleThread
return void

ScheduleNext() public method

public ScheduleNext ( ) : void
return void

StepNext() public method

public StepNext ( System.Action DoBeforeSelectingNext ) : void
DoBeforeSelectingNext System.Action
return void

SuspendThread() public method

public SuspendThread ( HleThread Thread ) : void
Thread HleThread
return void

TerminateThread() public method

public TerminateThread ( HleThread HleThread ) : void
HleThread HleThread
return void

UpdatedThread() public method

public UpdatedThread ( HleThread HleThread ) : void
HleThread HleThread
return void

Yield() public method

Inside the active thread, yields the execution, and terminates the step.
public Yield ( ) : void
return void

Property Details

CoroutinePool public property

public CoroutinePool,CSharpUtils.Threading CoroutinePool
return CSharpUtils.Threading.CoroutinePool

Current public property

public HleThread Current
return HleThread

DispatchingThreads public property

public SCE_KERNEL_DISPATCHTHREAD_STATE DispatchingThreads
return SCE_KERNEL_DISPATCHTHREAD_STATE

LastId protected property

protected int LastId
return int

PreemptiveScheduler public property

public PreemptiveScheduler PreemptiveScheduler
return PreemptiveScheduler

Threads public property

public List Threads
return List

ThreadsById public property

public Dictionary ThreadsById
return HleThread>.Dictionary