Sometimes when you launch a thread you don’t know when it will complete whatever processing it is tasked with. Sometimes you do. Sometimes it may never complete and will require that you expressly terminate it. Usually any given thread will have a lifecycle that is at least consistently one or the other, but sometimes you will come across an awkward thread which is not so straightforward. Sometimes you will be creating a thread on behalf of somebody else who is making these decisions.
Although I am using Oxygene a lot these days, Delphi remains my tool of choice for Win32 (and x64) development, together with the VCL. Hence this post. A long time ago, in a galaxy far far away, Delphi was a Windows only development tool. 16 was the number of the bits with which it was concerned, and 1 was the number of threads in the process (though it was not called a thread). It was a simpler time. Then the bits were doubled and the number of threads did multiply, but it was important still that some things happened only on the original thread, though for a time a blinded eye could be turned since – no matter the plurality of threads – with only one piece of silicon to share, only one thread could be running at any one time. Yet lo, TThread.Synchronize() was conceived.
The first two canned videos from last weeks preview of Tiburon have appeared on the CDN site. Of the two, one covers some new language features in C++ Builder, but the one of most interest to Delphi developers I think is the one that demonstrates some of the VCL improvements and changes. See if you can spot Nick Hodge’s deliberate mistake. At least, I hope it was deliberate. 😉 More videos and sessions should be coming online soon.
A roundup of that part of the Preview I saw of Tiburon – the next release of Delphi from CodeGear.