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


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

Re: counting_semaphore question

From Muttley@dastardlyhq.com
Newsgroups comp.lang.c++
Subject Re: counting_semaphore question
Date 2024-09-11 14:12 +0000
Organization A noiseless patient Spider
Message-ID <vbs8fq$3l2la$1@dont-email.me> (permalink)
References (1 earlier) <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> <vbs7ds$3kplq$1@raubtier-asyl.eternal-september.org>

Show all headers | View raw


On Wed, 11 Sep 2024 15:54:12 +0200
Bonita Montero <Bonita.Montero@gmail.com> boringly babbled:
>Am 11.09.2024 um 14:29 schrieb Muttley@dastardlyhq.com:
>
>> On Wed, 11 Sep 2024 14:10:05 +0200
>
>>> 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?
>
>If you have a maximum counter of ten and an initial counter of two
>you may increment the counter further eight times until another
>release doesn't increment the counter.

I don't see how it works in practice.

acquire() increments the counter and it won't go beyond 2 (or whatever
you set the maximum thread acquire count to) once 2 have aquired it and
release() decrements it.

I've tried setting the max counters to all sorts of values including zero and
it makes no difference whatsoever to how this code executes:

#include <stdio.h>
#include <unistd.h>

#include <thread>
#include <semaphore>

using namespace std;

counting_semaphore<1> sem(2);

void func(int i)
{
        printf("Thread %d waiting\n",i);
        sem.acquire();
        printf("Thread %d acquired\n",i);
        sleep(1);
        printf("Thread %d releasing\n",i);
        sem.release();
}

int main()
{
        thread thr[10];
        printf("Max = %d\n",sem.max());
        for(int i=0;i < 10;++i) thr[i] = thread(func,i);
        for(int i=0;i < 10;++i) thr[i].join();
        return 0;
}

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