[ library(threads) | Reference Manual | Alphabetic Index ]

# thread_create(+Goal, -Thread, +Options)

Create a DTR-thread

Goal
  A callable term
Thread
  Output: a handle for the created DTR-thread
Options
  A list of option terms

## Description

Create a thread (according to DTR 13211-5), and start it by executing (a copy of) Goal. The following options are supported:

alias(Name)
  make the DTR-thread available under the alias Name (an atom).
detached(Bool)
  when true, free all DTR-thread resources on completion of Goal, and do not wait for thread_join/2
all options of engine_create/2

Relationship to ECLiPSe engines: a DTR-thread is an ECLiPSe engine associated with a record queue. So, thread_create/3 is essentially a combination of engine_create/2, engine_resume_thread/2 and record_create/1.

### Modes and Determinism

- thread_create(+, -, +) is det

### Modules

This predicate is sensitive to its module context (tool predicate, see @/2).

## See Also

engine_create / 2, engine_resume_thread / 2, record_create / 1