Product

ORDA – Share an entity selection between processes

Automatically translated from English

4D v16 R6 introduced a new concept of communication between processes: shared object and shared collection variables! Thanks to this, you’re able to easily share information between processes.

Until now, entity selections weren’t shareable between processes. However, that has changed … we’re pleased to announce that in 4D v18 R5 entity selections are shareable! 

Gone are the days of building a list of primary keys to move a selection of entities to another process. Enhance your multi-processes code by including ORDA entity selections as shared objects.

Keep reading to learn more.

Product

Objects Corner: easy sharing & other good news

Automatically translated from English

How many times have you gotten the “Not supported value type in a shared object” error when trying to put an object into a shared object?

What did you do? Write longer code to turn your innocent object into a shared one, perhaps iterating over all of its properties?

How about transferring a shared object from one shared group to another?

 

An interesting thing about objects: you already know they can be used as a hash map (a key/value system), but what about gettings all the keys or all the values with a single line of code?

Keep reading, because 4D v18 R3 is out and brings good news!

Product

Coexistence of thread-safe and non-thread-safe commands

Automatically translated from English

Have you ever needed to use methods with both thread-safe and not thread-safe calls, with conditions that skip over commands that are not thread-safe? Currently the compiler prevents doing this and an error is thrown, however there’s a flag that lets you disable this check and this blog post shows you how. 

Product

Easily synchronize your processes

Automatically translated from English

Preemptive processes are very useful for performing extensive calculations in parallel, using all of the cores in your CPU, but sometimes you need to delegate tasks to a cooperative process (e.g., using a non-preemptive command). With the New signal command, you can pause a process and wait for the response from another process!

Events

Make your solutions scalable with preemptive multi-threading – Add K. from 4D Summit 2018

Automatically translated from English

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.

Product Web Service in preemptive

Preemptive Web Services Server and Client

Automatically translated from English

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.