şu kodu şuraya yapıştırın aga. pastebin engelli. Bu imzayı her grdüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı smürmektir

new Thread (... diyerek zaten yeni bir thread oluşturuyorsun.. yerinde olsam bir dizi ya da listede tüm threadleri tutarım.. sonra hangi threadi durduracaksam ya da bekleteceksem dizi/listeden çağırırım şyle.. List<Thread> threadList = new List<Thread< ; ... threadList. Add(new Thread(new ThreadStart(this. Read1))); threadList . Start ; threadList. Add(new Thread(new ThreadStart(this. Read2))); threadList . Start ; ilk threadin işlemini iptal etmek için ise threadList . Abort ; diyebilirsin ya da bir şeyi bekleyecekse Join kullanabilirsin.. Sleep metodunu kullanmak mantıklı değildir genel olarak. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

using System; using System. Collections. Generic; using System. ComponentModel; using System. Data; using System. Drawing; using System. Linq; using System. Text; using System. Threading. Tasks; using System. Windows. Forms; using System. IO. Ports; using System. Threading; namespace WindowsFormsApplication1 { public partial class Form1 : Form { volatile bool _devam1=false, _devam2=false, durum=true; // public Form1 // private void button1_Click // private void button2_Click { if (! serialPort1. IsOpen) _devam1 = true; (new Thread(new ThreadStart(this. Read1))). Start ; if (! serialPort2. IsOpen) _devam2 = true; (new Thread(new ThreadStart(this. Read2))). Start ; } // public void Read1 { while (_devam1) { try { string message1 = serialPort1. ReadExisting ; if (_devam1) } catch } } // public void Read2 { while (_devam2) { try { string message2 = serialPort2. ReadExisting ; if (_devam2) } catch } } private void button3_Click { if if durum = ! durum; } } }

Eee, seri porttaki bilgiler siz almayınca da duruyor. Sonraki çağırışta tamponunda kalan her şeyi veriyor. Yntem 1: serialport nesnesini close metodunu çağırın. Yntem 2: serialport nesnesinin DiscardInBuffer metodunu çağırın. Olaylara karışmayın!

Thread'i iptal etmek için cancellationtoken var hocam onada bakabilirsin. Ayrıca bu tür Thread işlemlerini. Net 4.5 ile gelen async keywordu ile daha kolay yapabilirsin. herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri ğrenmeye çalışmayın. yabancı dil filan ğrenin amq.// s. kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//

http://pastebin.com/nFLk2XS6 Hocalarım thread yapılarıyla aynı anda 2 adet seri porttan veri almaya çalışıyorum. Aynı anda verileri alabiliyorum ekranda grebiliyorum. Sorunum bu veri alımını durdurup tekrar başlatabilmek. Bunu thread in içine koyduğum volatile bool olan _devam1 değişkeniyle while'in içine koydum. fakat sıkıntı burda _devam1'i false yapınca herşey çok güzel veri alımı durmuş gibi ekrana hiç bişey yazdırmıyor. ama _devam1'i tekrardan true yapınca daha nce aldığı herşeyi hiç durmamış gibi tekrar ekrana yazıyor. yani arkaplan thread while dngüsünün içine giriyor bir güzel çalışıyor ama ekrana yazdırmıyor. değişken i tekrar true yapınca hiç durmamış gibi arada gelen verilerin hepsini birden yazıyor. Kodları pastebin'e attım. anlayamadım noldu ne bitti. punto cero

Yapacağın işi ayrı bi class olarak yapmanı, serial portu form yerine o classın içinde create etmeni tavsiye ederim. O şekilde daha kolay debug edersin Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı ktektir!

System. thread. threading. sleep kullanarak threadi uyku moduna alabilirsin Kasnak yuvarlandı elek oldu, eski orospular melek oldu...