Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #120033

Re: counting_semaphore question

From Ben Bacarisse <ben@bsb.me.uk>
Newsgroups comp.lang.c++
Subject Re: counting_semaphore question
Date 2024-09-12 11:25 +0100
Organization A noiseless patient Spider
Message-ID <87ikv1i2yk.fsf@bsb.me.uk> (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>

Show all headers | View raw


Muttley@dastardlyhq.com writes:

> 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?

You might want to consider who you are talking to.

Let's take std::counting_semaphore<M> sem(N); as an example.  The N is
the important number but it is not a 'maximum' in any hard sense -- it
is simply the initial value of the counter.  If it were some sort of
hard maximum, std::counting_semaphore sem(0); would be useless but it
isn't -- it simply means that at least one release() is needed before an
acquire() won't block.  Of course, if often /does/ represent the
maximum number of threads that can access some resource because the
usual pattern is to use std::counting_semaphore sem(N) with the standard
pattern of every thread calling acquire() and then release().

The template parameter M is very different and rather unusual.  It is,
first and foremost, just a hint to the implementation about how much
space will be needed for the counter, so the most useful value for M is
1 because some systems can implement binary semaphores more efficiently
than counting ones.

But this "limit" is not enforced other than by making the behaviour
undefined when it is exceeded.  Pre-conditions on the operations state
that the counter must always be >= 0 and <= M, but you won't be able to
check this unless the implementation decides to enforce these
pre-conditions with some sort of error report.

-- 
Ben.

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


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