From: Jean-Pierre Rosen <rosen@adalog.fr>
Subject: Re: question about tasks, multithreading and multi-cpu machines
Date: Thu, 16 Mar 2006 19:03:00 +0100
Date: 2006-03-16T19:03:00+01:00 [thread overview]
Message-ID: <k89cvd.3js.ln@hunter.axlog.fr> (raw)
In-Reply-To: <dvc1gl$6qk$1@sunnews.cern.ch>
Maciej Sobczak a �crit :
> The difference between sequential and paraller execution of two
> instructions (or blocks of instructions, but that's obvious) should be
> addressed at the level of control structures, not types (nor objects).
> This means that if I want to have these:
>
> A := 7;
> B := 8;
>
> executed sequentially, then I write them sequentially - just like above
> (I already see posts claiming that the compiler or CPU can reorder these
> instructions, but that's not the point; if the instructions have
> side-effects, then the sequence is really a sequence and I'm talking
> about expressing the programmer's intents here).
Actually, in Occam you would write (syntax not guaranteed):
cobegin
A:=7;
and
B:=8;
coend;
> Executing those two instructions in paraller should not require from me
> to define new types, allocate new objects, nor any other thing like
> this.
And why? That's your opinion, fine, but what support do you have for it?
The truth is that there are more than one concurrency paradigm. What you
say is true for concurrent evaluation. You can have it in Ada (although
it requires more typing) in the following:
declare
task T1;
task body T1 is
begin
A := 7;
end T1;
task T2;
task body T2 is
begin
B := 8;
end T2;
begin
null;
end;
Another model of concurrency is for performing concurrent tasks (this
last word in the usual sense). For example, imagine you want to display
the time in the upper left corner of your screen. This can be done
easily with something like:
task Time_Display;
task body Time_Display is
begin
loop
Display (Clock);
delay 1.0;
end loop;
end Time_Display;
You cannot achieve this with any model of concurrent evaluation!
--
---------------------------------------------------------
J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr
next prev parent reply other threads:[~2006-03-16 18:03 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-14 16:26 question about tasks, multithreading and multi-cpu machines Norbert Caspari
2006-03-14 16:51 ` Pascal Obry
2006-03-16 4:27 ` Norbert Caspari
2006-03-16 10:04 ` Alex R. Mosteo
2006-03-14 17:18 ` Jean-Pierre Rosen
2006-03-16 4:22 ` Norbert Caspari
2006-03-16 6:58 ` Jean-Pierre Rosen
2006-03-14 18:49 ` Martin Krischik
2006-03-14 18:56 ` tmoran
2006-03-14 23:01 ` Jeffrey Creem
2006-03-15 1:15 ` Jeffrey R. Carter
2006-03-16 8:06 ` Maciej Sobczak
2006-03-16 10:23 ` Ole-Hjalmar Kristensen
2006-03-16 12:59 ` Dmitry A. Kazakov
2006-03-16 15:11 ` Larry Kilgallen
2006-03-16 15:50 ` Maciej Sobczak
2006-03-16 18:03 ` Jean-Pierre Rosen [this message]
2006-03-16 20:06 ` Dr. Adrian Wrigley
2006-03-17 3:26 ` Randy Brukardt
2006-03-16 20:06 ` Jeffrey R. Carter
2006-03-17 8:22 ` Maciej Sobczak
2006-03-17 11:36 ` Dmitry A. Kazakov
2006-03-17 14:23 ` Maciej Sobczak
2006-03-17 19:10 ` Dmitry A. Kazakov
2006-03-17 19:42 ` Jeffrey R. Carter
2006-03-18 0:27 ` tmoran
2006-03-25 21:28 ` Robert A Duff
[not found] ` <43gb22h4811ojjh308r2lqf5qqrujijjok@4ax.com>
2006-03-26 0:44 ` Robert A Duff
2006-03-15 6:46 ` Simon Wright
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox