[fpc-devel] Suggestion: reference counted objects

Giuliano Colla giuliano.colla at fastwebnet.it
Sat Sep 20 20:33:40 CEST 2014


Il 20/09/2014 19:20, Boian Mitov ha scritto:
>   Hi Chriss,
> Personally I favor reference counted objects. While there are 
> interfaces as you pointed, and in Delphi you can even use smart 
> pointers now, there is still a lot of cases when you need to use 
> objects, and have to manually free them.
> In single threaded environment that is not such an issue, but in 
> parallel and heavily multithreaded environments, reference counting is 
> a life saver.

Can you explain how reference counting can be safely implemented in a 
parallel multithreaded environment, without heavily affecting performance?
A mere increment or decrement of count means to get a lock and to 
release a lock on that object. Application code can know what is thread 
safe and what is not, and use lock only when appropriate.
A general mechanism to be reliable should take into account all 
possibilities. If it does, it will block threads even when unnecessary. 
If it doesn't, it will be unsafe.

What do I miss?

Giuliano

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20140920/8a872117/attachment.html>


More information about the fpc-devel mailing list