VB.NET Multithread CPU %100 Kullanıyor

gharmori

Uzman üye
6 Kas 2011
1,950
1
Andromeda G.
VB.NET'de multithread çalışırken %5 CPU Kullanıyorum thread'ları durdurmak için thread.abort() edince CPU kullanımı %100 oluyor,düşmesi gerekirken anormal bi şekilde tavan yapıyor nasıl çözerim?
 

gharmori

Uzman üye
6 Kas 2011
1,950
1
Andromeda G.

ihan3t

Kadim Üye
7 Şub 2012
5,018
22
o zaman suspend mi etmeliyim? suspend edince thread duruyor ama yarıda duruyor tamamen durmuyor duraklatıyor diyebiliriz ama cpu kullanımı olmuyor yani

Suspend de etmemelisin. Bir thread in işini bitimesini istemediğin bir durum varsa neden thread kullandın?

Thread ile yapmaya çalıştığın işlemi söylersen ve işlem bütünlüğünü neden ayırdığını, belki farklı bir yöntem önerisi verilebilir.
 

gharmori

Uzman üye
6 Kas 2011
1,950
1
Andromeda G.
Suspend de etmemelisin. Bir thread in işini bitimesini istemediğin bir durum varsa neden thread kullandın?

Thread ile yapmaya çalıştığın işlemi söylersen ve işlem bütünlüğünü neden ayırdığını, belki farklı bir yöntem önerisi verilebilir.

Timer yerine thread kullanıyorum,while döngüsünün içerisine thread sleep yazarak timer interval yerine kullanıyorum.Çok verimli olduğu için ayrıca multithread'ini kullanabilmek için.Bir DoS Programı yapıyorum,sürekli ard arda sunucuya veri gönderiyor.Durdur butonuna basıldığında labeldeki 1 sayısı 0 oluyor başlatınca 0 yazısı 1 oluyor.Thread çalışırken eğer 1 yazıyorsa thread işini yapıyor,ama eğer 0 ise bişey yapmıyor ve abort ediyor.ama abort etsem thread duruyor cpu %100 oluyor neden oluyor bilmiyorum.suspend etsem olmaz programın nerde duracağı belli olmaz.Yaw thread'i nasıl durdurucam adam gibi durdurmak nasıl bu kadar zor olabilir ki.
 
Son düzenleme:

ihan3t

Kadim Üye
7 Şub 2012
5,018
22
Timer yerine thread kullanıyorum,while döngüsünün içerisine thread sleep yazarak timer interval yerine kullanıyorum.Çok verimli olduğu için ayrıca multithread'ini kullanabilmek için.Bir DoS Programı yapıyorum,sürekli ard arda sunucuya veri gönderiyor.Durdur butonuna basan kullanıcı thread çalışmasını durduruyor ama abort etsem thread duruyor cpu %100 oluyor neden oluyor bilmiyorum.suspend etsem olmaz programın nerde duracağı belli olmaz.Yaw thread'i nasıl durdurucam adam gibi durdurmak nasıl bu kadar zor olabilir ki.

Yaptığın işlem için çok verimli olduğu söylenemez.

Parallelism ve concurrency konuları zordur.

Bunu task kullanarak yapman veyahut thread pool kullanman daha faydalı.

Tavsiyem task ile yapman, asenkron istekler atmak threadlere göre daha performanslı.

Threadde istek atıldığı zaman isteğin http seviyesinde isteğin gidip gelmesi beklenir, asenkron isteklerde ise olay isteği atarsın, cevap geldiği zaman işine devam edersin.

npm8.png


Böylelikle kaç adet istek atmak istediğini task ile belirlersin, istek bitince yapacağın başka bir işlem varsa onu belirleyebilirsin, peşi sıra çalışması gereken asenkron işlemler belirleyebilirsin vs vs...

Bence burada ihtiyacın olan şey multithreading değil.

 

gharmori

Uzman üye
6 Kas 2011
1,950
1
Andromeda G.
Yaptığın işlem için çok verimli olduğu söylenemez.

Parallelism ve concurrency konuları zordur.

Bunu task kullanarak yapman veyahut thread pool kullanman daha faydalı.

Tavsiyem task ile yapman, asenkron istekler atmak threadlere göre daha performanslı.

Threadde istek atıldığı zaman isteğin http seviyesinde isteğin gidip gelmesi beklenir, asenkron isteklerde ise olay isteği atarsın, cevap geldiği zaman işine devam edersin.

npm8.png


Böylelikle kaç adet istek atmak istediğini task ile belirlersin, istek bitince yapacağın başka bir işlem varsa onu belirleyebilirsin, peşi sıra çalışması gereken asenkron işlemler belirleyebilirsin vs vs...

Bence burada ihtiyacın olan şey multithreading değil.


Bu task'ı nasıl kullanacağım peki,düzgün birşey bulamadım çok karışık internette.
 

gharmori

Uzman üye
6 Kas 2011
1,950
1
Andromeda G.

İşte ben VB.NET için arıyorum google'a yazdığımda ancak senin verdiklerini bulabildim geçenlerde bi arkadaşta demişti ama async gönder demişti anlamamıştım araştırmıştım,mesela thread için tek bir kod bloğu lazım bu asenkronda 5-6 tane gerekiyor buda oldukça zor ve karmaşık bir hâle getiriyor.Ama eğer uğraştığıma değicek ise asenkron programlamaya zaman ayırabilirim fakat düzgün kaynak bulabilirsem.
 

ihan3t

Kadim Üye
7 Şub 2012
5,018
22
İşte ben VB.NET için arıyorum google'a yazdığımda ancak senin verdiklerini bulabildim geçenlerde bi arkadaşta demişti ama async gönder demişti anlamamıştım araştırmıştım,mesela thread için tek bir kod bloğu lazım bu asenkronda 5-6 tane gerekiyor buda oldukça zor ve karmaşık bir hâle getiriyor.Ama eğer uğraştığıma değicek ise asenkron programlamaya zaman ayırabilirim fakat düzgün kaynak bulabilirsem.

En büyük yanlışın vb.net kullanman bir kere..

Task lar için 5 6 farklı kod bloğu gerekmiyor aslında.. Tek blokla da halledebilirsin..

Vb.net içinde benzer örnekler mevcut fakat sana tavsiyem c# öğren : https://www.dotnetperls.com/async-vbnet
 

Socialmm

Katılımcı Üye
8 Ocak 2017
854
1
Aaa kardeş sen nerden biliyon tam üzerine bastın ama niye mümkün değil ki

https://youtu.be/nsdSeiT467o?t=69

Bu videoda bu DoS'u sence ne ile yapmış olabilir xdebron hoca c# dili ile soket kullanarak yaptığını söyledi bana


httpwebrequest kullanmis kardesim GET methodu sanirim socket baglantida windows hangi proxye bagliysa onun ustunden gonderiyor
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.