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
. @ .
next prev parent 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