comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Simp,e example for 2 tasks
Date: Mon, 22 Sep 2014 10:18:37 +0300
Date: 2014-09-22T10:18:37+03:00	[thread overview]
Message-ID: <c8a0qcF9regU1@mid.individual.net> (raw)
In-Reply-To: <lvncmq$iim$1@dont-email.me>

On 14-09-21 23:33 , Jeffrey Carter wrote:
> On 2014-09-21 7:31 AM, Stribor40 wrote:
>> Would anyone be able to post simple example of ada program showing 2 tasks
>> taking to each other please.  For example one task sends message to another
>> saying "hi" and second taks replying "hi back".
> 
> As others have pointed out, Ada tasking is based on synchronous communication,
> not the message queues found in other languages. This why Ada had to introduce
> the partition concept to achieve distribution, while Erlang processes distribute
> quite nicely by themselves, as the ping-pong example shows.

Hmm... I don't quite agree with that. It seems to me that rendez-vous
interaction between tasks could be implemented in a distributed system,
as long as the entry parameters can be passed by value or by copy-in
copy-out. It is the global shared variables and reference parameters
that would make a distributed approach difficult for Ada programs using
such constructs. I don't know Erlang well enough to understand if it has
some solution for that, or if it simply forbids such things.

Of course this does not alter the fact that rendez-vous is synchronous,
and that a queue has to be implemented if asynchronous communication is
needed.

For reque statements, I believe that the RTS typically packs up the
entry parameters in a record structure, like a message, which the RTS
can manipulate more easily than it could manage parameters pushed on the
stack, as for a normal call.

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
      .      @       .


  reply	other threads:[~2014-09-22  7:18 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-21 13:31 Simp,e example for 2 tasks Stribor40
2014-09-21 15:59 ` Dennis Lee Bieber
2014-09-21 16:03   ` Stribor40
2014-09-21 22:26     ` Dennis Lee Bieber
2014-09-21 16:09 ` Dmitry A. Kazakov
2014-09-21 16:28 ` Stribor40
2014-09-21 17:00 ` Brad Moore
2014-09-21 20:33   ` Jeffrey Carter
2014-09-22  7:18     ` Niklas Holsti [this message]
2014-09-22 17:48       ` Jeffrey Carter
2014-09-22 18:16         ` Niklas Holsti
2014-09-22 19:27           ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox