Skip to content

Thread Component ​

com.eu.habbo.core.threading.ThreadComponent

The ThreadComponent class in the Arcturus project is responsible for managing threads and executing tasks asynchronously. This documentation will guide you on how to access and use the different methods provided by this component.

Accessing the Thread Component ​

To access the Thread Component instance, you need to use the Emulator class. Here's an example of how you can do it:

java
ThreadComponent threads = Emulator.getComponent(ThreadComponent.class);

Methods ​

The ThreadComponent class provides the following methods:

run ​

java
Future<Void> run(Runnable run)

Executes the given Runnable task asynchronously using the virtual thread pool. Returns a Future representing the pending completion of the task.

run with Delay ​

java
ScheduledFuture<?> run(Runnable run, long delay)

Schedules the given Runnable task to be executed after the specified delay in milliseconds. Returns a ScheduledFuture representing the pending completion of the task.

getSchedule ​

java
ScheduledExecutorService getSchedule()

Returns the scheduled executor service used by the thread component.

Note: Please refer to the code comments for detailed explanations and use cases of each method.

Example Usage ​

Here's an example of how you can use the ThreadComponent methods:

java
// First get the thread component
ThreadComponent threads = Emulator.getComponent(ThreadComponent.class);

// Run a task asynchronously
Future<Void> future = threads.run(() -> {
    // Code to be executed asynchronously
});

// Schedule a task to run after a delay
ScheduledFuture<?> scheduledFuture = threads.run(() -> {
    // Code to be executed after the specified delay
}, 5000);