#1 2025-12-04 06:42:39

Uefi
Member
Registered: 2024-02-14
Posts: 48

mormot.core.threads

Hello, I don't understand at all how to use mormot.core.threads. Could you give some examples, for example, how to parallelize Tstringlist ?
I can't find any information on how to use mormot.core.threads anywhere, but I'd like to try it.

Offline

#2 2025-12-04 07:28:39

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 15,328
Website

Re: mormot.core.threads

I don't understand what "parallelize TStringList" mean.
TStringList is not thread safe by itself.

What do you want to do?

Offline

#3 2025-12-04 15:40:02

Uefi
Member
Registered: 2024-02-14
Posts: 48

Re: mormot.core.threads

ab wrote:

I don't understand what "parallelize TStringList" mean.
TStringList is not thread safe by itself.

What do you want to do?

Hi, I mean, for example, something like this, as it is done in another library, OmniThreadLibrary:

var
StringList:Tstringlist;
....
Parallel.ForEach(0, Stringlist.count-1).NumTasks(4).Execute(
procedure (const i: integer)
begin
...
Stringlist[i];
....
end);

I would like to do something similar through mormot.core.threads

Offline

#4 Today 03:48:11

zen010101
Member
Registered: 2024-06-15
Posts: 139

Re: mormot.core.threads

  Key Differences from OmniThreadLibrary

  | Aspect             | OmniThreadLibrary     | mORMot                                    |
  |--------------------|-----------------------|-------------------------------------------|
  | Callback signature | procedure(i: integer) | procedure(IndexStart, IndexStop: integer) |
  | Granularity        | Per-item              | Per-range (more efficient)                |
  | Thread pool        | Implicit              | Explicit TSynParallelProcess              |
  | Anonymous methods  | Supported             | Requires method of object                 |

Full runnable demo is here:  https://gist.github.com/zen010101/a69f7 … 41da1424b7

Offline

Board footer

Powered by FluxBB