Make your solutions scalable with preemptive multi-threading – Add K. from 4D Summit 2018
Preemptive processes are powerful since they allow your applications to take full advantage of multi-core computers; consequently, this results in faster global execution time and more connected users. With 4D v17, we went a step further by providing you 1,000+ thread-safe commands!
Watch the Preemptive multi-threading video from the 4D Summit 2018 Keynote. It features Add Komoncharoensiri, Director of Technical Services (4D USA), explaining how the preemptive support in 4D helps you take advantage of your multi-core machines, as well as the new concepts we shipped along the way to help you boost performance and efficiency.
Preemptive Web Services Server and Client
Preemptive Web Services allow your applications to take full advantage of multi-core computers resulting in faster responses for simultaneous requests. It’s not only powerful, it’s also easy: from the Method Properties of any method, just select the “Can be run in preemptive processes” option and you’re off and running!
A 4D method can be preemptive or not according to compilation options and the use of the language, as explained in this post.
Sharing information in multi-threading environment
4D v16 R6 introduces a new concept of communication between processes: shared object and shared collection variables! They are a solution so you can avoid using interprocess variables (which can’t be used in multi-thread mode). Thanks to this, you will be able to easily share information between preemptive processes.
More commands to run in preemptive processes
A preemptive process is powerful as it allows your application to take full advantage of multi-core computers; consequently, its results in a faster global execution time and more connected users. A 4D process may be preemptive or not according to compilation options and the use of the language, as explained in this post.
In order to benefit from this mode as much as possible we are pleased to announce that more than twenty existing commands have been enhanced and can now be used inside preemptive processes.
4D Summit 2016: Laurent Esnault presents workers and UI in preemptive mode
Our own VP of Engineering, Laurent Esnault, explains exchanging information between multiple processes AND between processes and forms during his Break Out Session: Preemptive Multi-threading at 4D Summit 2016. Thanks to preemptive multi-threading, you can have more parallel processes, and thus add more and more users, for either desktop or web applications.
If you missed Laurent’s session at 4D Summit 2016, watch this 15-min video and enjoy some personal training by the master of preemptive multi-threading!
Difference between cooperative and preemptive explained by Laurent Esnault at 4D Summit 2016
Laurent Esnault, VP of Engineering, explains the difference between cooperative and preemptive processes during his Break Out Session about Preemptive Multi-threading at 4D Summit 2016. Thanks to Preemptive Multi-threading, you can have more parallel processes, and thus add more and more users, either for desktop or for web applications.
If you missed Laurent’s session at 4D Summit 2016, watch this video and enjoy some personal training by the master of preemptive multi-threading!
Web Server in preemptive mode
We are moving forward with 4D v16 on preemptive multi-threading as the 4D Web Server is also becoming preemptive. Just click one checkbox and your application will support more simultaneously connected users, and process more requests in parallel. For requests using a lot of CPU time, execution can be up to 2 times faster!
Preemptive processes for 4D language
Since 4D v11, the database server and SQL server both use preemptive multi-threading. Starting with 4D v13, the Web Server in Static mode also uses preemptive. Now with v15 R5, the 4D language can also be run in preemptive processes.
4D Write Pro commands in preemptive processes
With 4D v16, you can improve your database scalability using the new 4D Write Pro commands in preemptive processes.
If you are doing routines for creating or converting documents programmatically – e.g. invoices … you can now do it with preemptive workers as most 4D Write Pro commands are now thread safe!
XML commands are now thread safe
Want to enhance your database scalability and use all the performance available with your multi-core machines?
With 4D v16, we have extended the list of thread-safe commands in order to use preemptive processes with your code handling XML.
Contact us
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy