From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: ada.synchronous_barriers incomplete? Date: Tue, 1 May 2018 14:34:15 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <40f83198-ee2d-4c1f-8066-d333b9bed30c@googlegroups.com> NNTP-Posting-Host: kQkuQcRDy1QFvWpyB1foYw.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.8.3 Xref: reader02.eternal-september.org comp.lang.ada:51884 Date: 2018-05-01T14:34:15+02:00 List-Id: On 2018-05-01 13:26, hnptz@yahoo.de wrote: > The rationale_2102 says: "There are many situations where the release of N tasks is required to execute an algorithm in parallel". My question is how to stop N-1 tasks after one of the N tasks has found the required solution before all other N-1 taks? An atomic Boolean set true by the first task reaching the solution? Other task can periodically check the value. Or it could be the asynchronous transfer of control if the tasks do only computations: task body Worker is begin select Ready.Wait; -- Protected object implementation of an event then abort loop -- Incredibly long computations ... exit when Converged; ... end loop; Ready.Signal; -- I am the first! end select; end Worker; -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de