Служба потоков исполнения

Служба предназначена для управления потоками исполнения.

Сведения о методах службы приведены в таблице ниже.

Методы службы thread.Thread (интерфейс kl.core.Thread)

Метод

Назначение и параметры метода

Потенциальная опасность метода

Create

Назначение

Создает поток исполнения.

Параметры

  • [out] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [out] tid – идентификатор потока исполнения (TID).
  • [in] priority – приоритет потока исполнения.
  • [in] stackSize – размер стека потока исполнения в байтах или 0, чтобы был использован размер по умолчанию, заданный при создании процесса.
  • [in] routine – указатель на функцию, вызываемую при запуске потока исполнения.
  • [in] context – указатель на функцию, выполняемую потоком исполнения.
  • [in] context2 – указатель на параметры, передаваемые функции, заданной через параметр context.
  • [in] flags – флаги, задающие параметры создания потока исполнения.
  • [out] rc – код возврата.

Позволяет выполнить следующие действия:

  • Создать поток исполнения реального времени, который заберет все процессорное время у остальных потоков исполнения, в том числе из других процессов (рекомендуется контролировать параметры создания потока исполнения).
  • Создать множество потоков исполнения, в том числе с высоким приоритетом, чтобы сократить процессорное время, доступное потокам других процессов (рекомендуется контролировать приоритет потока исполнения).
  • Исчерпать оперативную память.
  • Исчерпать память ядра, создавая в ней множество объектов.

OpenCurrent

Назначение

Создает дескриптор вызывающего потока исполнения.

Параметры

  • [out] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [out] rc – код возврата.

Нет.

Suspend

Назначение

Блокирует вызывающий поток исполнения.

Параметры

  • [out] rc – код возврата.

Позволяет заблокировать поток исполнения, который захватил созданный в разделяемой памяти объект синхронизации, который ожидается потоком исполнения другого процесса. В результате поток исполнения другого процесса может быть заблокированным сколь угодно долго.

Resume

Назначение

Возобновляет исполнение заблокированного потока.

Параметры

  • [in] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [out] rc – код возврата.

Нет.

Terminate

Назначение

Завершает поток исполнения.

Параметры

  • [in] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [in] code – код завершения потока исполнения.
  • [out] rc – код возврата.

Нет.

Exit

Назначение

Завершает вызывающий поток исполнения.

Параметры

  • [in] code – код завершения потока исполнения.
  • [out] rc – код возврата.

Нет.

Wait

Назначение

Блокирует вызывающий поток исполнения до завершения заданного потока исполнения.

Параметры

  • [in] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [in] msec – время ожидания завершения потока исполнения в миллисекундах.
  • [out] code – код завершения потока исполнения.
  • [out] rc – код возврата.

Нет.

SetPriority

Назначение

Задает приоритет потока исполнения.

Параметры

  • [in] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [in] priority – приоритет потока исполнения.
  • [out] rc – код возврата.

Позволяет повысить приоритет потока исполнения, чтобы сократить процессорное время, доступное остальным потокам исполнения, в том числе из других процессов.

Рекомендуется контролировать приоритет потока исполнения.

SetTls

Назначение

Задает базовый адрес локальной памяти потока исполнения (TLS) для вызывающего потока исполнения.

Параметры

  • [in] va – указатель на локальную память потока исполнения.
  • [out] rc – код возврата.

Нет.

Sleep

Назначение

Блокирует вызывающий поток исполнения на заданное время.

Параметры

  • [in] mdelay – время блокировки потока исполнения в миллисекундах.
  • [out] rc – код возврата.

Нет.

GetInfo

Назначение

Позволяет получить сведения о потоке исполнения.

Параметры

  • [in] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [out] info – структура, содержащая базовый адрес стека потока исполнения и его размер в байтах, а также идентификатор потока исполнения (TID).
  • [out] rc – код возврата.

Нет.

DetachIrq

Назначение

Отвязывает вызывающий поток исполнения от прерывания, обрабатываемого в его контексте.

Параметры

  • [out] rc – код возврата.

Нет.

GetAffinity

Назначение

Позволяет получить маску сходства потока исполнения.

Параметры

  • [in] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [out] mask – маска сходства потока исполнения.
  • [out] rc – код возврата.

Нет.

SetAffinity

Назначение

Задает маску сходства потока исполнения.

Параметры

  • [in] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [in] mask – маска сходства потока исполнения.
  • [out] rc – код возврата.

Нет.

SetSchedPolicy

Назначение

Задает класс планирования и приоритет потока исполнения.

Параметры

  • [in] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [in] policy – класс планирования потока исполнения.
  • [in] priority – приоритет потока исполнения.
  • [in] param – объединение, содержащее параметры класса планирования потока исполнения.
  • [out] rc – код возврата.

Позволяет выполнить следующие действия:

  • Сделать поток исполнения потоком исполнения реального времени, который заберет все процессорное время у остальных потоков исполнения, в том числе из других процессов (рекомендуется контролировать класс планирования потока исполнения).
  • Повысить приоритет потока исполнения, чтобы сократить процессорное время, доступное остальным потокам исполнения, в том числе из других процессов (рекомендуется контролировать приоритет потока исполнения).

GetSchedPolicy

Назначение

Позволяет получить сведения о классе планирования и приоритете потока исполнения.

Параметры

  • [in] thread – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует поток исполнения.
  • [out] policy – класс планирования потока исполнения.
  • [out] priority – приоритет потока исполнения.
  • [out] param – объединение, содержащее параметры класса планирования потока исполнения.
  • [out] rc – код возврата.

Нет.

В начало