Вариант №1
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на стул со своим номером. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «ожидаемый таймер».
|
|
Вариант №2
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на стул со своим номером. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «событие».
Вариант №3
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на стул со своим номером. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
|
|
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «семафор».
Вариант №4
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на стул со своим номером. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «мьютекс».
Вариант №5
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на стул со своим номером. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «критическая секция».
Вариант №6
В парикмахерской расположено единственное кресло, на котором спит парикмахер, и несколько стульев для клиентов.
Когда клиент приходит в парикмахерскую, он будит парикмахера, садится в кресло. Стрижка производится в течение заданного времени. Если же кресло занято другим клиентом, то вновь прибывший клиент занимает любой свободный стул и ожидает своей очереди (клиенты обслуживаются в порядке очередности, например, времени прибытия). Если все стулья заняты, то клиент поворачивается и уходит.
Когда обслужены все клиенты, парикмахер садится в кресло и снова засыпает.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «ожидаемый таймер».
Вариант №7
В парикмахерской расположено единственное кресло, на котором спит парикмахер, и несколько стульев для клиентов.
Когда клиент приходит в парикмахерскую, он будит парикмахера, садится в кресло. Стрижка производится в течение заданного времени. Если же кресло занято другим клиентом, то вновь прибывший клиент занимает любой свободный стул и ожидает своей очереди (клиенты обслуживаются в порядке очередности, например, времени прибытия). Если все стулья заняты, то клиент поворачивается и уходит.
Когда обслужены все клиенты, парикмахер садится в кресло и снова засыпает. Описанный процесс происходит бесконечно.
|
|
Воспользоваться объектами синхронизации типа «событие».
Вариант №8
В парикмахерской расположено единственное кресло, на котором спит парикмахер, и несколько стульев для клиентов.
Когда клиент приходит в парикмахерскую, он будит парикмахера, садится в кресло. Стрижка производится в течение заданного времени. Если же кресло занято другим клиентом, то вновь прибывший клиент занимает любой свободный стул и ожидает своей очереди (клиенты обслуживаются в порядке очередности, например, времени прибытия). Если все стулья заняты, то клиент поворачивается и уходит.
Когда обслужены все клиенты, парикмахер садится в кресло и снова засыпает.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «семафор».
Вариант №9
В парикмахерской расположено единственное кресло, на котором спит парикмахер, и несколько стульев для клиентов.
Когда клиент приходит в парикмахерскую, он будит парикмахера, садится в кресло. Стрижка производится в течение заданного времени. Если же кресло занято другим клиентом, то вновь прибывший клиент занимает любой свободный стул и ожидает своей очереди (клиенты обслуживаются в порядке очередности, например, времени прибытия). Если все стулья заняты, то клиент поворачивается и уходит.
Когда обслужены все клиенты, парикмахер садится в кресло и снова засыпает.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «мьютекс».
Вариант №10
В парикмахерской расположено единственное кресло, на котором спит парикмахер, и несколько стульев для клиентов.
Когда клиент приходит в парикмахерскую, он будит парикмахера, садится в кресло. Стрижка производится в течение заданного времени. Если же кресло занято другим клиентом, то вновь прибывший клиент занимает любой свободный стул и ожидает своей очереди (клиенты обслуживаются в порядке очередности, например, времени прибытия). Если все стулья заняты, то клиент поворачивается и уходит.
|
|
Когда обслужены все клиенты, парикмахер садится в кресло и снова засыпает.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «критическая секция».
Вариант №11
Рассмотрим взаимодействие двух потоков, один из которых пишет данные в буферный пул, а другой считывает их из пула. Буферный пул состоит из N буферов, каждый содержит одну запись. В общем случае поток-писатель и поток-читатель имеют разные скорости и обращаются к пулу с переменной интенсивностью. Для правильной работы поток-писатель приостанавливается, когда все буферы заняты, и переходит в активное состояние при наличии хотя бы одного свободного буфера. Поток-читатель приостанавливается, когда все буферы пусты, и активизируется, когда появляется, по крайней мере, одна запись.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «ожидаемый таймер».
Вариант №12
Рассмотрим взаимодействие двух потоков, один из которых пишет данные в буферный пул, а другой считывает их из пула. Буферный пул состоит из N буферов, каждый содержит одну запись. В общем случае поток-писатель и поток-читатель имеют разные скорости и обращаются к пулу с переменной интенсивностью. Для правильной работы поток-писатель приостанавливается, когда все буферы заняты, и переходит в активное состояние при наличии хотя бы одного свободного буфера. Поток-читатель приостанавливается, когда все буферы пусты, и активизируется, когда появляется, по крайней мере, одна запись.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «событие».
Вариант №13
Рассмотрим взаимодействие двух потоков, один из которых пишет данные в буферный пул, а другой считывает их из пула. Буферный пул состоит из N буферов, каждый содержит одну запись. В общем случае поток-писатель и поток-читатель имеют разные скорости и обращаются к пулу с переменной интенсивностью. Для правильной работы поток-писатель приостанавливается, когда все буферы заняты, и переходит в активное состояние при наличии хотя бы одного свободного буфера. Поток-читатель приостанавливается, когда все буферы пусты, и активизируется, когда появляется, по крайней мере, одна запись.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «семафор».
Вариант №14
Рассмотрим взаимодействие двух потоков, один из которых пишет данные в буферный пул, а другой считывает их из пула. Буферный пул состоит из N буферов, каждый содержит одну запись. В общем случае поток-писатель и поток-читатель имеют разные скорости и обращаются к пулу с переменной интенсивностью. Для правильной работы поток-писатель приостанавливается, когда все буферы заняты, и переходит в активное состояние при наличии хотя бы одного свободного буфера. Поток-читатель приостанавливается, когда все буферы пусты, и активизируется, когда появляется, по крайней мере, одна запись.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «мьютекс».
Вариант №15
Рассмотрим взаимодействие двух потоков, один из которых пишет данные в буферный пул, а другой считывает их из пула. Буферный пул состоит из N буферов, каждый содержит одну запись. В общем случае поток-писатель и поток-читатель имеют разные скорости и обращаются к пулу с переменной интенсивностью. Для правильной работы поток-писатель приостанавливается, когда все буферы заняты, и переходит в активное состояние при наличии хотя бы одного свободного буфера. Поток-читатель приостанавливается, когда все буферы пусты, и активизируется, когда появляется, по крайней мере, одна запись.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «критическая секция».
Вариант №16
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на любой стул. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «ожидаемый таймер».
Вариант №17
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на любой стул. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «событие».
Вариант №18
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на любой стул. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «семафор».
Вариант №19
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на любой стул. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «мьютекс».
Вариант №20
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
Для того чтобы пообедать, философ входит в столовую и садится на любой стул. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
Пообедав, философ кладет обе вилки на стол одновременно и уходит.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «критическая секция».
Вариант №21
В парикмахерской расположено единственное кресло, на котором спит парикмахер, и несколько стульев для клиентов, которые делятся на два класса – обычные и «блатные». Сначала всегда обслуживаются «блатные» клиента, и только после этого парикмахер может работать с обычными клиентами.
Когда клиент приходит в парикмахерскую, он будит парикмахера, садится в кресло. Стрижка производится в течение заданного времени. Если же кресло занято другим клиентом, то вновь прибывший клиент занимает любой свободный стул и ожидает своей очереди. Далее клиенты обслуживаются в порядке приоритета и очередности (времени прибытия). Если все стулья заняты, то клиент поворачивается и уходит.
Когда обслужены все клиенты, парикмахер садится в кресло и снова засыпает.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «ожидаемый таймер».
Вариант №22
В парикмахерской расположено единственное кресло, на котором спит парикмахер, и несколько стульев для клиентов, которые делятся на два класса – обычные и «блатные». Сначала всегда обслуживаются «блатные» клиента, и только после этого парикмахер может работать с обычными клиентами.
Когда клиент приходит в парикмахерскую, он будит парикмахера, садится в кресло. Стрижка производится в течение заданного времени. Если же кресло занято другим клиентом, то вновь прибывший клиент занимает любой свободный стул и ожидает своей очереди. Далее клиенты обслуживаются в порядке приоритета и очередности (времени прибытия). Если все стулья заняты, то клиент поворачивается и уходит.
Когда обслужены все клиенты, парикмахер садится в кресло и снова засыпает.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «событие».
Вариант №23
В парикмахерской расположено единственное кресло, на котором спит парикмахер, и несколько стульев для клиентов, которые делятся на два класса – обычные и «блатные». Сначала всегда обслуживаются «блатные» клиента, и только после этого парикмахер может работать с обычными клиентами.
Когда клиент приходит в парикмахерскую, он будит парикмахера, садится в кресло. Стрижка производится в течение заданного времени. Если же кресло занято другим клиентом, то вновь прибывший клиент занимает любой свободный стул и ожидает своей очереди. Далее клиенты обслуживаются в порядке приоритета и очередности (времени прибытия). Если все стулья заняты, то клиент поворачивается и уходит.
Когда обслужены все клиенты, парикмахер садится в кресло и снова засыпает.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «семафор».
Вариант №24
В парикмахерской расположено единственное кресло, на котором спит парикмахер, и несколько стульев для клиентов, которые делятся на два класса – обычные и «блатные». Сначала всегда обслуживаются «блатные» клиента, и только после этого парикмахер может работать с обычными клиентами.
Когда клиент приходит в парикмахерскую, он будит парикмахера, садится в кресло. Стрижка производится в течение заданного времени. Если же кресло занято другим клиентом, то вновь прибывший клиент занимает любой свободный стул и ожидает своей очереди. Далее клиенты обслуживаются в порядке приоритета и очередности (времени прибытия). Если все стулья заняты, то клиент поворачивается и уходит.
Когда обслужены все клиенты, парикмахер садится в кресло и снова засыпает.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «мьютекс».
Вариант №25
В парикмахерской расположено единственное кресло, на котором спит парикмахер, и несколько стульев для клиентов, которые делятся на два класса – обычные и «блатные». Сначала всегда обслуживаются «блатные» клиента, и только после этого парикмахер может работать с обычными клиентами.
Когда клиент приходит в парикмахерскую, он будит парикмахера, садится в кресло. Стрижка производится в течение заданного времени. Если же кресло занято другим клиентом, то вновь прибывший клиент занимает любой свободный стул и ожидает своей очереди. Далее клиенты обслуживаются в порядке приоритета и очередности (времени прибытия). Если все стулья заняты, то клиент поворачивается и уходит.
Когда обслужены все клиенты, парикмахер садится в кресло и снова засыпает.
Описанный процесс происходит бесконечно.
Воспользоваться объектами синхронизации типа «критическая секция».