LINUX.ORG.RU

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

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

Передай своему преподу, что он либо не умеет формулировать задачи, либо совсем поехавший.

Ну и, поскольку каждый семафор - это счетчик, можно делать так: создаешь несколько десятков семафоров, и кодируешь каждым из них 1 бит (например, захваченный семафор - 1, незахваченный - 0); вся совокупность семафоров кодирует двоичное число (размер файла). Дальше делаешь так же, как и раньше, просто твой «разделяемый ресурс» состоит из одних только семафоров.

Наверное, в SysV-семафорах можно исхитриться и передать число через сам семафор, но мне лень читать маны :)

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

Ну, передай своему преподу, что он либо не умеет формулировать задачи, либо совсем поехавший.

Ну и, поскольку каждый семафор - это счетчик, можно делать так: создаешь несколько десятков семафоров, и кодируешь каждым из них 1 бит (например, захваченный семафор - 1, незахваченный - 0); вся совокупность семафоров кодирует двоичное число (размер файла). Дальше делаешь так же, как и раньше, просто твой «разделяемый ресурс» состоит из одних только семафоров.

Наверное, в SysV-семафорах можно исхитриться и передать число через сам семафор, но мне лень читать маны :)

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

Ну, передай своему преподу, что он либо не умеет формулировать задачи, либо совсем поехавший.

Ну и, поскольку каждый семафор - это счетчик, можно делать так: создаешь несколько десятков семафоров, и кодируешь каждым из них 1 бит (например, захваченный семафор - 1, незахваченный - 0); вся совокупность семафоров кодирует двоичное число (размер файла). Дальше делаешь так же, как и раньше, просто твой «разделяемый ресурс» состоит из одних только семафоров.