Zitat von Joost van der Sluis <joost@cnoc.nl>:

> Op woensdag 30-07-2008 om 11:33 uur [tijdzone +0200], schreef Florian
> Klaempfl:
> > Marco van de Voort schrieb:
> > >
> > > Read this and the reactions, and weep:
> > >
> > >
>
http://groups.google.com/group/borland.public.delphi.non-technical/browse_frm/thread/db61d19063a2f948/289008199451755a?lnk=gst&q=voort+multicore#289008199451755a
> >
> > I don't agree on the point that good mt support is a matter of the
> > framework. _Really_ good multithreading support is a matter and must be
> > a matter of the language as well and in several years and must be as
> > common as while or for loops. Currently, multithreaded programming is
> > like programming spaghetti basic. A good framework is comparable to at
> > least the try to program structured with line numbered basic but it is
> > not forced by the language. The compiler must know about parallism.
>
> I'm not really into paralel-computing. But it does interest me.
>
> Just to test some ideas/opinions. Could something like this be usefull?
>
> Function DoSomething(const astring : string) : boolean; parallel;
> begin
> ..
> end
>
> So that the 'parallel' keywords means that if you call this procedure,
> it's started in a separate thread. (maybe just a compiler hint, like in
> inline. So that the compiler can decide)
> If you actually use the result somewhat further in you program, the
> compiler detects this and waits for the other thread to finish, before
> it continous.
>
> Ofcourse, of someone uses some globa-vars in an 'parallel' procedure, he
> could be doomed, if he don't know what he does. But maybe the compiler
> can even forbid this.
>
> Would this be usefull at all? Doable?

There is a wiki about that discussion:
http://wiki.freepascal.org/OpenMP_support

Mattias


