Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #120021
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: counting_semaphore question |
| Date | 2024-09-11 16:23 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <vbs95s$3l7ms$1@dont-email.me> (permalink) |
| References | <vbrqjj$3hvsd$1@dont-email.me> <vbs01c$3j5mc$1@raubtier-asyl.eternal-september.org> <vbs0tm$3jf62$1@dont-email.me> <vbs1al$3jgnp$1@raubtier-asyl.eternal-september.org> <vbs2fm$3jp23$1@dont-email.me> |
On 11/09/2024 14:29, Muttley@dastardlyhq.com wrote: > On Wed, 11 Sep 2024 14:10:05 +0200 > Bonita Montero <Bonita.Montero@gmail.com> boringly babbled: >> Am 11.09.2024 um 14:03 schrieb Muttley@dastardlyhq.com: >> >>> What upper limit? The max number of threads allowed in the protected section >>> above is 2, not 10. Or do you mean it'll only count up to 10 threads waiting >>> and ignore any beyond that? What happens if thread 11 comes along? >> >> The static parmeter is the maximum counter and the the two is the >> initial counter. So two threads can currently acquire that semaphore. > > Sorry, I still don't get it. What do you mean by maximum counter? > > Maximum threads that can wait on the semaphore and 11 gets an error? > Maximum threads that can ever access the protected section and after 10 have > accessed it the section is blocked to all threads? > You are talking about a counting semaphore here - the number will be the maximum value of the count. (The actual maximum value could be bigger than the template parameter, but not smaller than it.) If this maximum value is 10, then you can acquire the semaphore 10 times without blocking - any future acquires will block until there are releases. Semaphores can be acquired and released by any threads - one thread can acquire often, another thread can release them, or you can have any combination. They are not used for protection sections or data - they are used as signalling mechanisms. One or more "producer" thread might make objects, and one or more "consumer" threads used them, in which case your 10 here is the maximum number of these objects that will be buffered up at a time. > >>> Condition variables IMO are unintuitive (eg the internal state change from >>> waiting on condition variable to waiting on mutex is completely invisible) >>> and hence very prone to logical bugs. I tend to avoid them where possible. >> >> If you have a producer-consumer-pattern condition variables are the most >> efficient way to handle this pattern. > > Efficient maybe, but the code can be obtuse and debugging a pain. > <https://en.cppreference.com/w/cpp/thread/counting_semaphore> This suggests that semaphores may be an alteranative to condition variables but with better performance. (Individual implementations may vary, of course.)
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
counting_semaphore question Muttley@dastardlyhq.com - 2024-09-11 10:15 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-11 13:48 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-11 12:03 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-11 14:10 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-11 12:29 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-11 15:54 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-11 14:12 +0000
Re: counting_semaphore question David Brown <david.brown@hesbynett.no> - 2024-09-11 16:23 +0200
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-16 14:22 -0700
Re: counting_semaphore question David Brown <david.brown@hesbynett.no> - 2024-09-17 09:22 +0200
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-17 11:56 -0700
Re: counting_semaphore question David Brown <david.brown@hesbynett.no> - 2024-09-18 09:32 +0200
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-19 12:57 +0200
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-19 13:01 +0200
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-19 12:09 -0700
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-19 13:27 -0700
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-19 13:30 -0700
Re: counting_semaphore question Ben Bacarisse <ben@bsb.me.uk> - 2024-09-12 11:25 +0100
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-12 11:00 +0000
Re: counting_semaphore question Andrey Tarasevich <andreytarasevich@hotmail.com> - 2024-09-12 07:34 -0700
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-12 14:53 +0000
Re: counting_semaphore question David Brown <david.brown@hesbynett.no> - 2024-09-13 08:39 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-13 07:26 +0000
Re: counting_semaphore question David Brown <david.brown@hesbynett.no> - 2024-09-13 12:54 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-13 13:21 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-13 15:29 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-13 13:41 +0000
Re: counting_semaphore question David Brown <david.brown@hesbynett.no> - 2024-09-15 17:33 +0200
Re: counting_semaphore question David Brown <david.brown@hesbynett.no> - 2024-09-13 16:46 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-13 14:59 +0000
Re: counting_semaphore question Andrey Tarasevich <andreytarasevich@hotmail.com> - 2024-09-13 07:43 -0700
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-11 13:51 -0700
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-12 04:21 +0200
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-12 11:57 -0700
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-13 14:29 +0200
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-13 12:44 -0700
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-14 01:43 +0200
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-13 22:21 -0700
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-14 12:07 -0700
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-14 09:18 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-14 11:40 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-14 10:58 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-14 13:15 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-14 15:13 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-14 17:26 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-14 15:48 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-14 17:50 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-14 15:55 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-14 17:57 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-15 09:05 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-15 11:48 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-15 09:52 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-15 14:50 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-15 15:28 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-16 05:02 +0200
Re: counting_semaphore question scott@slp53.sl.home (Scott Lurndal) - 2024-09-15 16:27 +0000
Re: counting_semaphore question scott@slp53.sl.home (Scott Lurndal) - 2024-09-15 16:26 +0000
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-14 12:12 -0700
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-14 17:21 -0700
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-15 07:11 +0200
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-14 22:20 -0700
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-15 09:35 +0200
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-15 12:59 -0700
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-16 05:04 +0200
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-16 13:30 -0700
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-14 12:09 -0700
Re: counting_semaphore question Andrey Tarasevich <andreytarasevich@hotmail.com> - 2024-09-11 07:37 -0700
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-11 15:03 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-11 17:27 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-11 16:04 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-11 18:16 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-11 18:16 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-12 04:20 +0200
Re: counting_semaphore question "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-09-12 13:00 -0700
Re: counting_semaphore question Andrey Tarasevich <andreytarasevich@hotmail.com> - 2024-09-11 20:56 -0700
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-12 07:43 +0000
Re: counting_semaphore question David Brown <david.brown@hesbynett.no> - 2024-09-12 13:30 +0200
Re: counting_semaphore question Muttley@dastardlyhq.com - 2024-09-12 14:48 +0000
Re: counting_semaphore question Bonita Montero <Bonita.Montero@gmail.com> - 2024-09-12 15:38 +0200
Re: counting_semaphore question Andrey Tarasevich <andreytarasevich@hotmail.com> - 2024-09-12 07:05 -0700
csiph-web