Поочередная печать нечетных и четных чисел с использованием потоков в C++C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Поочередная печать нечетных и четных чисел с использованием потоков в C++

Сообщение Гость »


Печать четных нечетных чисел с использованием потока Я столкнулся с этим вопросом и хотел обсудить решение на C++. Что я могу придумать об использовании двух двоичных семафоров, нечетного и четного семафора. четный семафор инициализируется значением 1, а нечетный — значением 0.

Код: Выделить всё

**T1 thread function**
funOdd()
{
wait(even)
print odd;
signal(odd)
}

**T2 thread function**
funEven()
{
wait(odd)
print even
signal(even)
}
In addition to this if my functions are generating only number and there is a third thread T3 which is going to print those numbers then what should be ideal design ? I used an array where odd number will be placed at odd place and even number will be place at even position. T3 will read from this array this will avoid any thread saftey over this array and if T3 does not find any index then it will wait till that index gets populated. Another solution can be to use a queue which will have a mutex which can be used by T1 and T2 while insertion.

Please comment on this solution and how can i make it more efficient.

Edit to make problem much clear: Overall problem is that I have two producers (T1,T2) and a single consumer (T3), and my producers are interdependent.


Источник: https://stackoverflow.com/questions/146 ... reads-in-c
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»