Considere o típico problema do produtor-consumidor implementado através do pseudocódigo mostrado a seguir, onde produz é uma função que produz um novo produto e TAMANHO é a capacidade máxima de armazenamento do depósito. A primeira posição utilizável do depósito é a posição zero. Considere também que as duas funções f1 e f2 são executadas de forma atômica:

Assinale a alternativa que apresenta o código do produtor-consumidor que funciona corretamente de forma concorrente: