From: Koichi Sasada <ko1@...> Date: 2018-01-28T23:32:24+09:00 Subject: [ruby-core:85183] Re: [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid On 2018/01/24 2:31, Eric Wong wrote: >> * Lock and queue should work with auto-fiber? > I can definitely make Queues work. I think ko1 was mildly > against increasing use of Mutex. > > One safety feature I was thinking about was disabling > auto-switching of Fibers while a Mutex is locked, even. If we name it as Thread-like (Threadlet), we can use all synchronization tools with Threads (I feel it is natural). I'm not sure we should limit to use them on Threadlet or not. 1. Threads and Threadlets can share same synchronization tools -> Good: no learning efforts -> Bad: People can cause sync issues with mis-using or missing syncs 2. Introduce Threadlets special synchronization tools and introduce special rules communicate with other threads -> Good: people can only use good tools (such as Queues) -> Bad: we need to learn new tools and rules If we think `Threadlet` is a special Thread (and the name indicates it), then (1) seems nice for me. With both options, we can enjoy advantages of Threadlet: (a) lightweight creation (b) predictable (than preemptive threads) switching -- // SASADA Koichi at atdot dot net Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>