Hello @loom-dev <loom-dev at openjdk.org>, I have been enjoying the new POLLER_PER_CARRIER design in the Loom repo and I really like the direction it is going. While building on top of the latest code, I noticed a couple of issues and would like to ask for clarification.
1. When calling Thread.startVirtualThread, the new virtual thread does not inherit the scheduler of the calling virtual thread, but instead uses DEFAULT_SCHEDULER. What is the reasoning behind this design? Could there be a mechanism to allow implicit inheritance? This would be very helpful for custom schedulers based on the per-core model. 2. The method Thread.VirtualThreadScheduler::current is very helpful, but it seems not quite enough. Since Loom already provides the read-only builtin.externalView, could we also have a method like Thread.VirtualThreadScheduler::scheduler(Thread)? This would make it easier to build better schedulers. For example, I could combine Thread.currentThread with Thread.VirtualThreadScheduler.scheduler to decide whether to push a task into a local task queue rather than the eventLoop’s MPSC queue. Thank you for your time and help. Best regards, dreamlike li
