Dalija Prasnikar
One of the more common problems that comes up in multi-threading, especially when refactoring existing code, is assigning a result obtained from asynchronous code. In other words, how do you write a function that will… – Details…
2 months ago in Asynchronous programming, Delphi, multithreading0
Dalija Prasnikar
Did you miss the DelphiCon session on “NX Horizon – The Open Source Event Bus for Delphi”? The webinar replay is now available! Code can be found on GitHub: https://github.com/dalijap/nx-horizonReplay can be found at: https://www.youtube.com/watch?v=a… – Details…
3 months ago in delphicon2023, eventbus, github0
Dalija Prasnikar
Here you can find slides from my CodeRage 2022 presentation about Challenges of Multi-threaded Programming, as well as additional links to code examples related to the presentation. Slides: https://dalija.prasnikar.info/dl/DP_CodeRage2022.pdf Additiona… – Details…
5 months ago in CodeRage2022, eventbus, multithreading, Webinar0
Dalija Prasnikar
In the two-part post series, The purpose of weak references – Part I and The purpose of weak references – Part II, I wrote about the purpose of weak references in automatic reference counting, as… – Details…
6 months ago in Delphi, memory management, Weak0
Dalija Prasnikar
In the first part of this post series, I covered owning and non-owning references under manual memory management, and the purpose of non-owning (weak) references in that memory model. Following the same use cases, we… – Details…
7 months ago in ARC, memory management, Strong, Weak0
Dalija Prasnikar
The terminology “weak and strong references” is commonly used in the context of automatic reference counting. In the context of manual memory management, we talk about ownership, and owning and non-owning references. While the terminology… – Details…
7 months ago in ARC, memory management, Strong, Weak0
Dalija Prasnikar
Delphi Thread Safety Patterns book is now available as paperback on Amazon, too. https://dalija.prasnikar.info/delphitspatt/While the thread safety of a particular piece of code depends on the surrounding context and how it is used, some data types… – Details…
7 months ago in book, Delphi, multithreading0
Dalija Prasnikar
One of the topics raised in yesterday’s FreeAndNil debate was using FreeAndNil in multi-threaded code for avoiding access to a dangling reference when multiple threads are accessing and using the same object instance. Problem is… – Details…
11 months ago in Delphi, FreeAndNil, multithreading0
Dalija Prasnikar
We are only few a years away from celebrating Delphi’s thirtieth birthday. Because it has been here for quite some time, many Delphi projects are far from being brand-new, and almost every Delphi developer is… – Details…
11 months ago in book, Delphi0
Dalija Prasnikar
I have published initial release of NX Horizon Event Bus for Delphi as Open Source on GitHub.Featuresimplements the publish/subscribe pattern, decoupling publishers and subscribersevents are categorized by typeany Delphi type can be used as an… – Details…
12 months ago in Delphi, eventbus0
Dalija Prasnikar
Anonymous threads are simple to use and are highly appealing when you need to quickly put and execute some small piece of code in a background thread. They work great when they run and complete,… – Details…
12 months ago in Delphi, multithreading0
Dalija Prasnikar
Delphi Thread Safety Patterns Bookhttps://dalija.prasnikar.info/delphitspatt/While the thread safety of a particular piece of code depends on the surrounding context and how it is used, some data types are inherently unsafe, and for some of them,… – Details…
12 months ago in book, Delphi, multithreading0
Dalija Prasnikar
Productivity is a highly subjective topic. What makes one person productive might not work for another. However, that doesn’t mean that sharing your own experience is not useful for other people. If some of the… – Details…
1 year ago in Productivity, programming0
Dalija Prasnikar
In the TCoffeeAndCode session about “Code Profiling, Optimization, Performance, and Memory Leaks”, it has been mentioned that generics are slow. However, no specific details were given, and this topic deserves to be explained in more… – Details…
2 years ago in Delphi, generics, Optimization0
Dalija Prasnikar
Virtual methods enable subtype polymorphism – in other words, they allow implementing different behavior in descendant classes.That means if you have a base TShape class with a virtual Paint method, and several descendant classes like… – Details…
2 years ago in Delphi, Virtual, vmt0