Thread'i istedigim cekirdekte nasil calistiririm

Başlatan Yuunus, 06 Ağustos 2018, 17:39:18

Yuunus

Merhaba, her nekadar windows bu isleri ben yonetirim dese de; delphi ile yazdigim thread'leri farkli cekirdeklerde calistirmak istiyorum bunun icin delphide bir fonksiyon var SetProcessAffinityMask(thread.handle, core_num); diye ama ben threadin calistigi cekirdegi degistiremiyorum. Delphi7 ile yazdim olmadi xe5 ilede olmadi fikri olan varmi? Windows 64 bitti ondanmi acaba dedim 32bit de de calismadi.

OptimusPrime

Bildigim kadariyla windows da boyel bir secenek yok. Zaten fonsiyonun ismide (AffinityMask) linux u andiriyor.
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

Yuunus

#2
https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-setprocessaffinitymask

Var windows kutuphanesinin icinde xe5 te filan kutuphaneler acilmiyor bildigim kadariyla ama d7 de gorusunuz proseduru zaten api kullaniyor.

OptimusPrime

https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

Yuunus

Nasil iste, sikinti ne onu anlamiyorum fonksiyon surekli false donduruyor. windows deseki aga kapattim erisimi anlarim ama oyle birseye de rastlamadim.

devrecii

Windows zaten otomatikman bunu yapıyor seri haberleşmede iki tane thread kullanmıştım birde programın kendisi
3 tane %25 dağıtmıştı hatta şaşırmıştım adamlar ne yapmış deyü;

Eğer windows bunu otomatikman yapmıyorsa başka problem var demektir.

Yuunus

Win yapmasin istiyorum zaten.yaptigini biliyorum.

devrecii

Alıntı yapılan: digiman - 06 Ağustos 2018, 20:12:42Win yapmasin istiyorum zaten.yaptigini biliyorum.

Tebrikler o zaman ufacık bir googleda aramayla o fonksiyonda direk çekirdek numarası yazılarak cağrılmadığınıda görmüşsündür zaten biliyorsundur.

Yuunus

ne yazacaksak onu soyle o zaman tebrik edecegine

engerex

Merhaba,
Bir bileşen yardımı ile bunu daha önce yapmıştım. Asenkrondu.
Yani mümkün.

Yuunus

hocam aslinda win vista ile bu erisimleri kapatmis anlasilan Componenet in tam adini hatirliyorsan deneyebilirim, tesekkurler.

Yuunus

#11
Hallettim, SetThreadAffinityMask(thread.handle, core_num); yanlis fonksiyonu cagirmisim, direkt core number yazilarak kullanilabiliyormus, belki isine yarayan olur.

OG

FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Yuunus