Hmm.... the last time I checked this was anonymous methods... Are you sure I was talking closures?
FThread1.Process( procedure() var ANewText1 : String; begin Sleep( 500 ); // Simulate thread busy doing time consuming task ANewText1 := AText + ' + Thread1'; FThread2.Process( procedure() var ANewText2 : String; begin Sleep( 500 ); // Simulate thread busy doing time consuming task ANewText2 := ANewText1 + ' + Thread2'; FThread3.Process( procedure() var ANewText3 : String; begin Sleep( 500 ); // Simulate thread busy doing time consuming task ANewText3 := ANewText2 + ' + Thread3'; FThread4.Process( procedure() var ANewText4 : String; begin Sleep( 500 ); // Simulate thread busy doing time consuming task ANewText4 := ANewText3 + ' + Thread4'; MainThreadExecute( False , procedure() begin Memo1.Lines.Add( 'Ended Processing: ' + ACounter.ToString() + ' - Result:' ); Memo1.Lines.Add( ANewText4 ); Memo1.Lines.Add( '' ); Dec( FInProccessingCount ); Label1.Caption := 'In processing pipeline = ' + FInProccessingCount.ToString(); end ); end ); end ); end ); end ); This is a 4 stage pipeline with asynchronous main thread printing. I dare somebody to implement it in less than 5-6 times more code with traditional methods, and while matching the performance... With best regards, Boian Mitov ------------------------------------------------------- Mitov Software www.mitov.com ------------------------------------------------------- From: Dmitry Boyarintsev Sent: Saturday, September 20, 2014 7:46 PM To: FPC developers' list Subject: Re: [fpc-devel] Suggestion: reference counted objects To be more accurate.. You're talking about "closures". The difference between closures and anonymous functions is explained here: http://en.wikipedia.org/wiki/Closure_(computer_programming)#History_and_etymology the second paragraph. thanks, Dmitry -------------------------------------------------------------------------------- _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel