I think this is no longer true
Yes. By default SWI-Prolog uses two threads: main
and gc
. The first is your application, the second does atom and clause garbage collection. If you run the development tools such as gtrace/0
or PceEmacs, a pce
thread is added that does the GUI so you can edit, examine resource usage, etc. while your application is running.
Using swipl --no-threads
it runs completely single threaded. There are very few use cases for that. You can also build a single threaded version from the sources. That makes the core a little smaller and marginally faster.