Did you know? SWI-Prolog has Multi-Thread supportSearch Documentation:
SWI-Prolog owl logoPredicate term_variables/2