LINUX.ORG.RU

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

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

Если тебе поупражнятся - напиши пул потоков который разбирает очередь задач при их наличии или просто спит пока задач нет (producer/consumer). Например, к каждой букве из стандартного входа приписать tid потока который её процессит и вывести на экран). Потом сходи в сорцы boost::asio::io_service и посмотри, вдруг оно чем-то похоже оказалось. Ну или если boost инопланетно, то в QEventLoop. Хинт - в этой задаче не нужен sleep, более того, реализация с использованием sleep будет ощутимо менее эффективна чем без него.

Или например, напиши какой нить серверочек который процессит вход на select/epoll. Как промежуточное упражнение - можно простой шелл написать.

Потом, отвлекись на конечные автоматы и сделай таки консольный калькулятор, который считает выражения вида «sin(42) * 32 / (22 - (1 + acos(2)))» и выводит корректные сообщения об ошибках в выражении.

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

Если тебе поупражнятся - напиши пул потоков который разбирает очередь задач при их наличии или просто спит пока задач нет (producer/consumer). Потом сходи в сорцы boost::asio::io_service и посмотри, вдруг оно чем-то похоже оказалось. Ну или если boost инопланетно, то в QEventLoop.

Или например, напиши какой нить серверочек который процессит вход на select/epoll. Как промежуточное упражнение - можно простой шелл написать.

Потом, отвлекись на конечные автоматы и сделай таки консольный калькулятор, который считает выражения вида «sin(42) * 32 / (22 - (1 + acos(2)))» и выводит корректные сообщения об ошибках в выражении.