From mboxrd@z Thu Jan 1 00:00:00 1970 Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "J-P. Rosen" Newsgroups: comp.lang.ada Subject: Re: Ichbiah 2022 compiler mode Date: Thu, 12 Sep 2024 11:04:58 +0200 Organization: Adalog Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 12 Sep 2024 11:04:58 +0200 (CEST) Injection-Info: dont-email.me; posting-host="bb360825a85c6d369e964917fc9fd1b2"; logging-data="201275"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+rG2748ocSxv1epKih1XJa" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:6Oyw2vhSr9JWNMO8he3XNRptsN4= Content-Language: en-US, fr In-Reply-To: Xref: news.eternal-september.org comp.lang.ada:66339 List-Id: Le 12/09/2024 à 06:46, Randy Brukardt a écrit : > I was (of course) presuming that "tasklets" would get those capabilities if > they were to replace tasks. That's what I meant about "suspension", which is > not currently allowed for threads in Ada (parallel code is not allowed to > call potentially blocking operations). If that was changed, then all forms > of existing task communication would be allowed. Well, tasks are not only for speeding up code. They can be a very useful design tool (active objects, independant activities). I think the Ada model is clean and simple, I would hate to see it disappear. > I'm less certain about the value of priorities, most of the time, they don't > help writing correct Ada code. (You still need all of the protections > against race conditions and the like.) I do realize that they are a natural > way to express constraints on a program. So I admit I don't know in this > area, in particular if there are things that priorities are truly required > for. If you had as many cores as tasks, you would not need priorities. Priorities are just optimization on how to manage cores when there are not enough of them. I know that people use priorities to guarantee mutual exclusion, and other properties. All these algorithms were designed at the time of mono-CPU machines, but they fail on multi-cores. Nowadays, relying on priorities for anything else than optimization is bad -and dangerous- design. -- J-P. Rosen Adalog 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX https://www.adalog.fr https://www.adacontrol.fr