Package net.minecraft.client.sounds
Class SoundEngineExecutor
java.lang.Object
net.minecraft.util.thread.BlockableEventLoop<Runnable>
net.minecraft.client.sounds.SoundEngineExecutor
- All Implemented Interfaces:
AutoCloseable
,Executor
,ProfilerMeasured
,ProcessorHandle<Runnable>
The SoundEngineExecutor class is responsible for executing sound-related tasks in a separate thread.
It extends the BlockableEventLoop class, providing an event loop for managing and executing tasks.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class net.minecraft.util.thread.BlockableEventLoop
doRunTask, dropAllTasks, execute, executeBlocking, executeIfPossible, getPendingTasksCount, isSameThread, managedBlock, name, pollTask, profiledMetrics, runAllTasks, scheduleExecutables, submit, submit, submitAsync, tell
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.util.thread.ProcessorHandle
ask, askEither, close
-
Field Details
-
thread
-
shutdown
private volatile boolean shutdown
-
-
Constructor Details
-
SoundEngineExecutor
public SoundEngineExecutor()
-
-
Method Details
-
createThread
-
wrapRunnable
Wraps the given runnable task. In this case, the original runnable is returned as-is.- Specified by:
wrapRunnable
in classBlockableEventLoop<Runnable>
- Parameters:
pRunnable
- The original runnable task- Returns:
- The wrapped runnable task
-
shouldRun
Determines whether the given runnable task should be run or not. It depends on the shutdown state of the SoundEngineExecutor.- Specified by:
shouldRun
in classBlockableEventLoop<Runnable>
- Parameters:
pRunnable
- The runnable task- Returns:
- true if the task should run, false otherwise
-
getRunningThread
- Specified by:
getRunningThread
in classBlockableEventLoop<Runnable>
-
run
private void run() -
waitForTasks
public void waitForTasks()- Overrides:
waitForTasks
in classBlockableEventLoop<Runnable>
-
flush
public void flush()
-