Потоки могут быть созданы и на них можно ждать. Поток не может быть завершен напрямую, но текущий поток может быть завершен неявно, а другим потокам можно отправить сигнал.
Создает новый поток выполнения, который вызывает function. Когда function возвращает значение, поток завершается.
Новый поток создается без активных привязок локальных переменных. Текущий буфер нового потока наследуется от текущего потока.
name может быть предоставлен для присвоения имени потоку. Имя используется только для отладки и информационных целей; для Emacs оно не имеет значения. Если name предоставлен, это должна быть строка.
Эта функция возвращает новый поток.
Эта функция возвращает t, если object представляет поток Emacs, иначе nil.
Блокирует выполнение до тех пор, пока thread не завершится или пока не будет отправлен сигнал текущему потоку. Возвращает результат функции thread. Если thread уже завершился, он возвращает результат немедленно.
Подобно signal (см. Как отправить ошибку), но сигнал доставляется в поток thread. Если thread — это текущий поток, то это просто вызывает signal немедленно. В противном случае thread получит сигнал, как только станет текущим. Если thread был заблокирован вызовом mutex-lock, condition-wait или thread-join, то thread-signal разблокирует его.
Если thread — это основной поток, сигнал не передается туда. Вместо этого он отображается как сообщение в основном потоке.
Передает выполнение следующему готовому к выполнению потоку.
Возвращает имя thread, указанное при вызове make-thread.
Возвращает t, если thread активен, или nil, если он не активен. Поток активен до тех пор, пока его функция выполняется.
Возвращает объект, на котором thread ожидает. Эта функция предназначена в первую очередь для отладки, и ей дано имя с «двойным дефисом», чтобы это было очевидно.
Если thread заблокирован в thread-join, он возвращает поток, на котором он ожидает.
Если thread заблокирован в mutex-lock, он возвращает мьютекс.
Если thread заблокирован в condition-wait, он возвращает переменную условия.
В противном случае он возвращает nil.
Возвращает текущий поток.
Возвращает список всех активных объектов потоков. При каждом вызове возвращается новый список.
Эта переменная хранит основной поток, в котором запущен Emacs, или nil, если Emacs скомпилирован без поддержки потоков.
Когда код, выполняемый потоком, вызывает необработанную ошибку, поток завершается. Другие потоки могут получить доступ к форме ошибки, вызвавшей завершение потока, с помощью следующей функции.
Эта функция возвращает последнюю форму ошибки, записанную, когда поток завершился из-за ошибки. Каждый поток, завершившийся с ошибкой, перезаписывает форму, сохраненную предыдущим потоком, новым значением, поэтому доступен только последний. Если cleanup не равен nil, сохраненная форма сбрасывается в nil.