Forum
Merhaba
Multithread ile ilgili açıklayıcı bir link verebilir misiniz ? Acil bir programı bitirmem gerekiyor ve multithreadı pek anlamış değilim. Thread içerisinde bir programın bir fonksiyonunu yerine getirmesi için program yazıyorum. Fakat programda exe hata veriyor. Bu konu hakkında bilgisi olan biri varsa yardım ederse sevinirim
Teşekkürler
Yapmak istediğiniz şeyi biraz daha detaylandırabilir misiniz ?
Yapmak istediğiniz şeyi biraz daha detaylandırabilir misiniz ?
Socket programlama yapacam. Eğer server kapalı ise client dosyaya veriyi yazacak. Eğer server açık ise dosyada veri var ise bir tane textbox var onun içerisindeki veriyi dosyaya yazacak en alta en baştaki veriyi de servera gönderecek.
Bunu yapmak istiyorum nasıl yapabilirim ?
Teşekkürler
Bunun için neden multithread kullanmak istediniz anlamadım. Belki projenize daha uygundur ancak, datayı göndermeden önce bir handshake (karşılıklı selamlaşma) prosedürü çalıştırabilirsiniz. Sunucudan cevap (response) gelmiyor ise text dosyaya, geliyor ise datayı sunucuya gönderebilirsiniz. İkinci alternatif ise verinizi her zaman için text dosyaya yazın. Belirli aralıklarda ise sunucuya gönderin. Böylelikle veriyi istemci tarafında her zaman kayıt altına almış olursunuz. İletişim sağlandığında ise veri sunucuya gönderilir.
İyi çalışmalar.
Bunun için neden multithread kullanmak istediniz anlamadım. Belki projenize daha uygundur ancak, datayı göndermeden önce bir handshake (karşılıklı selamlaşma) prosedürü çalıştırabilirsiniz. Sunucudan cevap (response) gelmiyor ise text dosyaya, geliyor ise datayı sunucuya gönderebilirsiniz. İkinci alternatif ise verinizi her zaman için text dosyaya yazın. Belirli aralıklarda ise sunucuya gönderin. Böylelikle veriyi istemci tarafında her zaman kayıt altına almış olursunuz. İletişim sağlandığında ise veri sunucuya gönderilir.
İyi çalışmalar.
Ben zaten multithread kullanıyorum. Bir tane threadin içerisinde bağlantı açık mı kapalı mı diye her 4 saniye de bir kontrol ettiriyorum. Fakat
baglantiKontrol = tcpsocket->waitForConnected(3000); ile 3 saniye beklediğinden dolayı o 3 saniyelik kısımda threadde çalışmasına rağmen donma
oluyor. Her biri ayrı threadde olmasına rağmen neden donuyor anlamadım. Sunucuya da mesaj gönderme derken başka bir programda gönderilen veriler
yazıyor. yani veri tabanı işlemleri gibi işlemler yok şimdilik.
Bunun için neden multithread kullanmak istediniz anlamadım. Belki projenize daha uygundur ancak, datayı göndermeden önce bir handshake (karşılıklı selamlaşma) prosedürü çalıştırabilirsiniz. Sunucudan cevap (response) gelmiyor ise text dosyaya, geliyor ise datayı sunucuya gönderebilirsiniz. İkinci alternatif ise verinizi her zaman için text dosyaya yazın. Belirli aralıklarda ise sunucuya gönderin. Böylelikle veriyi istemci tarafında her zaman kayıt altına almış olursunuz. İletişim sağlandığında ise veri sunucuya gönderilir.
İyi çalışmalar.
Ben zaten multithread kullanıyorum. Bir tane threadin içerisinde bağlantı açık mı kapalı mı diye her 4 saniye de bir kontrol ettiriyorum. Fakat
baglantiKontrol = tcpsocket->waitForConnected(3000); ile 3 saniye beklediğinden dolayı o 3 saniyelik kısımda threadde çalışmasına rağmen donma
oluyor. Her biri ayrı threadde olmasına rağmen neden donuyor anlamadım. Sunucuya da mesaj gönderme derken başka bir programda gönderilen veriler
yazıyor. yani veri tabanı işlemleri gibi işlemler yok şimdilik.
Kodunuza detaylı bakmak lazım. Belki diğer arkadaşlar farklı bir yorum getirebilirler. İyi çalışmalar.
background worker kullanın .
Sorunu çözdüm.
Multithreadde threadin başladığı metoda kodları yazmak lazımmış o zaman paralel çalışıyorlarmış. Ben başladığı zaman başka bir metoda sinyal verip çalştırıyordum. O da programdaki diğer işlemleri sıraya aldığından dolayı donma oluyormuş. Artık run metodu içerisinde çalıştırıyorum. Sorunsuz çalışıyor.
İlgilenenlere teşekkür ederim.
Geri bildirim için teşekkürler, iyi çalışmalar.