Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Support for Virtual Threads in Resilience4j #2224

@ykhfree

Description

@ykhfree

1. Description

Hello Resilience4j Team,

I would like to propose an enhancement to support Virtual Threads in Resilience4j. With the increasing adoption of Virtual Threads in Java, it would be beneficial for Resilience4j to support this feature to improve performance and scalability in applications that rely on heavy blocking operations.

2. Motivation

Virtual Threads offer a lightweight concurrency model that can handle a large number of concurrent tasks efficiently. By supporting Virtual Threads, Resilience4j can provide better performance for applications that perform blocking operations, such as I/O tasks, without the overhead of traditional threads.

3. Planned Approach for Virtual Threads

I plan to implement the following changes:

  • Utilize Virtual Threads specifically for tasks that involve heavy blocking operations to maximize their efficiency.
  • Carefully avoid using Thread methods that are incompatible with Virtual Threads to prevent any potential issues.
  • Ensure that tasks run by Virtual Threads do not include synchronized code, as this can lead to performance bottlenecks and pinned issues, which negate the benefits of using Virtual Threads.

4. Benefits

Improved performance and scalability for applications using Resilience4j with Virtual Threads.
Enhanced compatibility with modern Java concurrency features.

5. Additional Information

I am willing to contribute to this enhancement and implement these changes. Please let me know if there are any specific guidelines or processes I should follow to get started.

Thank you for considering this proposal. I look forward to your feedback and the possibility of contributing to Resilience4j.


Order of operations


Registered a new issue related to virtual threads.
#2343

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions