[fpc-pascal] Fwd: What to do to get new users

Michael Van Canneyt michael at freepascal.org
Fri Oct 18 11:58:06 CEST 2024



On Fri, 18 Oct 2024, Martin Frb via fpc-pascal wrote:

> On 18/10/2024 10:41, Karoly Balogh via fpc-pascal wrote:
>> For once, I'd be really glad if a bunch of the containers would be
>> Thread-Safe by default, like TList and things, and they aren't, because
>> they're based on almost 3 decade old Delphi concepts, when multithreading
>> wasn't as big of a deal as these days. No amount of "lets add GC" would
>> fix this. (And I know we have thread-safe alternatives, but they aren't
>> used everywhere and consistently. So when using a bunch of libraries, you
>> still end up managing thread-safety by hand...)
>
> And, I am glad they are **not** used everywhere by default.
>
> I want to control when and where my threads interact with other threads. And 
> anywhere else, they are to access only data that is not shared (including any 
> list that they use, outside the zones I designated for sharing).
> So no list (of my own, or any 3rd party code), in no thread of mine should 
> manage that on its own. I will do so, as I see fit for the context of my app.
> (That doesn't mean that I object to the existence of such list as 
> alternative, that can be used wherever it is seen fit)
>
> Of course, that means no 3rd party code must introduce global vars. If it 
> does => bad.

I agree with Martin. Threading should always be optional.

But to have a set of 'primitive' classes (lists etc.) that handle threading 
in SyncObjs would be good, though. 
So people do not have to re-implement them themselves.

Michael.


More information about the fpc-pascal mailing list