Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21993

Przerywanie Task c#

$
0
0
private BinaryReader br;
private TcpClient client
        public void Connect()
        {
            client = new TcpClient(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1313));
            br = new BinaryReader(client.GetStream());

        }
        private Task taskReceive;
        public object lockDane = new object();
        public List<string> dane = new List<string>();
        public void BeginReceive()
        {
            taskReceive = Task.Factory.StartNew(() =>
            {
                while (true)
                {
                    string str = br.ReadString();
                    lock (lockDane)
                        dane.Add(str);
                }
            });
        }
        public void EndReceive()
        {
            taskReceive.Abort(); // nie ma takiej metody w task
        }

Witam. Mam mniej więcej taki problem. Nie mam pojęcia jak zaimplementować metodę EndReceive, aby działała dobrze. W thread używałem metody abort ale w task jej nie ma. Także i takie coś https://stackoverflow.com/questions/4783865/how-do-i-abort-cancel-tpl-tasks jest dla mnie złe bo odbieranie blokuje wątek i może trwać nawet kilka minut, a ja chcę aby EndReceive zadziałało natychmiast. Jak sobie z tym poradzić?


Viewing all articles
Browse latest Browse all 21993

Trending Articles


Sprawdź z którą postacią z anime dzielisz urodziny


MDM - Muzyka Dla Miasta (2009)


Częstotliwość 3.722MHz


POSZUKIWANY TOMASZ SKOWRON-ANGLIA


Ciasto 3 Bit


Kasowanie inspekcji Hyundai ix35


Steel Division 2 SPOLSZCZENIE


SZCZOTKOWANIE TWARZY NA SUCHO


Potrzebuje schemat budowy silnika YX140


Musierowicz Małgorzata - Kwiat kalafiora [audiobook PL]