Re: problem z karta wieloportowa

Autor: Piotr Rezmer <piotr.rezmer_at_WYWAL.ens.net.pl>
Data: Tue 14 Oct 2008 - 11:44:10 MET DST
Message-ID: <gd1plb$80c$1@news.onet.pl>
Content-Type: text/plain; charset=UTF-8; format=flowed

lux pisze:
> tak, ta petla to oddzielny watek a wyglada on mniej wiecej tak:
> while (isRunning)
> {
> try
> {
> lock (serialPort)
> {
> if (serialPort.IsOpen)
> {
> str = serialPort.ReadLine();
> }
> }
> IReceiver rec = recObj as IReceiver;
> if (rec != null)
> {
> rec.Receive(str);
> }
> }
> catch (TimeoutException)
> {
>
> }
> }
  Czy ktĂłraś z funkcji readline(), receive() jest blokująca jeśli brak
danych? Jeśli nie, wątek zasuwa bez przerwy w pętli i dlatego zżera całe
CPU. Najprościej wstawić w pętlę Thread.Sleep(50) i obciążenie powinno
spaść.

-- 
pozdrawiam
Piotr
XLR250&bmw_f650_dakar
Received on Tue Oct 14 11:45:04 2008

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Tue 14 Oct 2008 - 11:51:01 MET DST