Quantcast
Viewing all articles
Browse latest Browse all 21942

Przerywanie Task c#

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 21942

Trending Articles


Windows MX 9 by MalcolmX (x86/x64) [PL] [.iso]


[159] P1670 P1671 - 1.75 tbi


Alawar Keygen POLECAM


Kombajn ziemniaczany GRIMME HLS 750


POTANIACZ


Kasowanie inspekcji Hyundai ix35


Konfiguracja - podłączenie modemu do radia I-COM IC7000


Tekken 7 Spolszczenie PC


Auta / Cars (2006) PLDUB.BRRip.480p.XviD.AC3-LTN / DUBBING PL


Ciech & Mały Esz - jako High Definition (2014)