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

02 августа 2023

ID kernel_methods_threads

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

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

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

Метод

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

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

Create

Назначение

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

Параметры

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

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

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

Suspend

Назначение

Блокирует поток исполнения.

Параметры

  • [in] tid – идентификатор потока исполнения (TID).
  • [out] rc – код возврата.

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

Resume

Назначение

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

Параметры

  • [in] tid – идентификатор потока исполнения (TID).
  • [out] rc – код возврата.

Нет.

Terminate

Назначение

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

Параметры

  • [in] tid – идентификатор потока исполнения (TID).
  • [in] zombie – фиктивный параметр.
  • [in] code – код завершения потока исполнения.
  • [out] rc – код возврата.

Нет.

Exit

Назначение

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

Параметры

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

Нет.

Wait

Назначение

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

Параметры

  • [in] tid – идентификатор потока исполнения (TID).
  • [in] msec – время ожидания завершения потока исполнения в миллисекундах.
  • [out] code – код завершения потока исполнения.
  • [out] rc – код возврата.

Нет.

SetPriority

Назначение

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

Параметры

  • [in] tid – идентификатор потока исполнения (TID).
  • [in] priority – значение, задающее приоритет потока исполнения.
  • [out] rc – код возврата.

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

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

GetTcb

Назначение

Позволяет получить доступ к локальной памяти текущего потока исполнения (TLS текущего потока исполнения).

Параметры

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

Нет.

SetTls

Назначение

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

Параметры

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

Нет.

Sleep

Назначение

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

Параметры

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

Нет.

GetInfo

Назначение

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

Параметры

  • [in] tid – идентификатор потока исполнения (TID).
  • [out] info – структура со сведениями о потоке исполнения.
  • [out] rc – код возврата.

Нет.

DetachIrq

Назначение

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

Параметры

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

Нет.

GetAffinity

Назначение

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

Параметры

  • [in] tid – идентификатор потока исполнения (TID).
  • [out] mask – маска сходства потока исполнения.
  • [out] rc – код возврата.

Нет.

SetAffinity

Назначение

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

Параметры

  • [in] tid – идентификатор потока исполнения (TID).
  • [in] mask – маска сходства потока исполнения.
  • [out] rc – код возврата.

Нет.

SetSchedPolicy

Назначение

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

Параметры

  • [in] tid – идентификатор потока исполнения (TID).
  • [in] policy – значение, задающее класс планирования потока исполнения.
  • [in] priority – значение, задающее приоритет потока исполнения.
  • [in] param – объединение, содержащее параметры класса планирования потока исполнения.
  • [out] rc – код возврата.

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

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

GetSchedPolicy

Назначение

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

Параметры

  • [in] tid – идентификатор потока исполнения (TID).
  • [out] policy – значение, отражающее класс планирования потока исполнения.
  • [out] priority – значение, отражающее приоритет потока исполнения.
  • [out] param – объединение, содержащее параметры класса планирования потока исполнения.
  • [out] rc – код возврата.

Нет.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!