LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Удалил из сообщения platformData. Теперь имена стали короче, а логика осталась прежней.

Си не умеет к классы и namespace. Конечно, я могу запихнуть данные планировщика в какую-нибудь структуру, но какая разница между scheduler.maxRunningPriority и threadMaxRunningPriority? Называть переменные односложно, так что потеряется их смысл, я не хочу. Я не из тех программистов, у которых куча переменных i, j, k, m, n и т. д., а потом какая-то чёрная магия. Однобуквенные имена я использую только в for.

Копипасты работы со спискам нет. Добавление в двусвязанный список осуществляется только в schedulerResumeTask, а удаление только в schedulerSuspendTask. Также в schedulerResumeTask осуществляется добавление в односвязанный список threadResumeQueue, а удаление в schedulerResumeDelayedTasks. В каждом случае свой алгоритм (очевидно, что работа с двусвязаным и односвязаным списком отличается, также как отличаются операции добавления и удаления).

Исправление KivApple, :

Удалил из сообщения platformData. Теперь имена стали короче.

Си не умеет к классы и namespace. Конечно, я могу запихнуть данные планировщика в какую-нибудь структуру, но какая разница между scheduler.maxRunningPriority и threadMaxRunningPriority? Называть переменные односложно, так что потеряется их смысл, я не хочу. Я не из тех программистов, у которых куча переменных i, j, k, m, n и т. д., а потом какая-то чёрная магия. Однобуквенные имена я использую только в for.

Копипасты работы со спискам нет. Добавление в двусвязанный список осуществляется только в schedulerResumeTask, а удаление только в schedulerSuspendTask. Также в schedulerResumeTask осуществляется добавление в односвязанный список threadResumeQueue, а удаление в schedulerResumeDelayedTasks. В каждом случае свой алгоритм (очевидно, что работа с двусвязаным и односвязаным списком отличается).

Исходная версия KivApple, :

Удалил из сообщения platformData. Теперь имена стали короче.

Си не умеет к классы и namespace. Конечно, я могу запихнуть данные планировщика в какую-нибудь структуру, но какая разница между scheduler.maxRunningPriority и threadMaxRunningPriority? Называть переменные односложно, так что потеряется их смысл, я не хочу. Я не из тех программистов, у которых куча переменных i, j, k, m, n и т. д., а потом какая-то чёрная магия. Однобуквенные имена я использую только в for.