Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion fopen, fread et threads

Received: by 10.66.74.72 with SMTP id r8mr163791pav.32.1350634113689;
        Fri, 19 Oct 2012 01:08:33 -0700 (PDT)
Path: 6ni5918pbd.1!nntp.google.com!news.glorb.com!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!feeds.phibee-telecom.net!talisker.lacave.net!lacave.net!.POSTED!not-for-mail
From: Lucas Levrel <lucas.lev...@u-pec.fr>
Newsgroups: fr.comp.os.unix
Subject: Re: fopen, fread et threads
Date: Fri, 19 Oct 2012 10:08:32 +0200
Organization: Service de news de lacave.net
Lines: 30
Message-ID: <alpine.LNX.2.00.1210191002230.3052@coulomb.univ-paris12.fr>
References: <alpine.LNX.2.00.1210181534250.3060@coulomb.univ-paris12.fr> <50804655$0$1970$426a74cc@news.free.fr>
NNTP-Posting-Host: exafs.u-pec.fr
Mime-Version: 1.0
X-Trace: talisker.lacave.net 1350634113 55962 193.51.149.88 (19 Oct 2012 08:08:33 GMT)
X-Complaints-To: abuse@lacave.net
NNTP-Posting-Date: Fri, 19 Oct 2012 08:08:33 +0000 (UTC)
User-Agent: Alpine 2.00 (LNX 1167 2008-08-23)
X-X-Sender: lu...@coulomb.univ-paris12.fr
In-Reply-To: <50804655$0$1970$426a74cc@news.free.fr>
Content-Type: TEXT/PLAIN; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 8BIT

Le 18 octobre 2012, Nicolas George a écrit :

> Lucas Levrel , dans le message
> <alpine.LNX.2.00.1210181534250.3...@coulomb.univ-paris12.fr>, a écrit :
>> Si maintenant je crée plusieurs threads qui possèdent chacun une instance
>> du générateur, et qui vont donc chacun faire l'initialisation ci-dessus,
>> dois-je emballer tout ça dans un mutex, ou peuvent-ils simultanément
>> ouvrir et lire dans urandom ?
>
> Je suppose que tu poses la question pour le device lui-même,

Oui.

> La réponse pour /dev/urandom est que bien sûr plusieurs processus ou threads
> peuvent le lire en même temps, ce serait problématique sinon.

OK. Vont-ils bien lire des choses différentes ?

> Mais pourquoi me croire sur parole quand il est si facile de tester ? Tu 
> remplaces ta lecture de 4 octets par une lecture de 40 Mo, tu lances 
> deux threads et tu vois ce qui se passe.

Puisque de manière générale, s'assurer du bon fonctionnement d'un 
programme multi-thread par un test est une très mauvaise idée, je n'ai pas 
ce réflexe. Évidemment avec 40 Mo, ça limite les risques de « tomber en 
marche » (encore que je n'aie aucune idée du débit de lecture dans 
urandom).

-- 
LL