Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Delphi => Konuyu başlatan: Yuunus - 06 Ağustos 2018, 17:39:18

Başlık: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: Yuunus - 06 Ağustos 2018, 17:39:18
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.
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: OptimusPrime - 06 Ağustos 2018, 18:02:09
Bildigim kadariyla windows da boyel bir secenek yok. Zaten fonsiyonun ismide (AffinityMask) linux u andiriyor.
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: Yuunus - 06 Ağustos 2018, 18:25:06
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.
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: OptimusPrime - 06 Ağustos 2018, 19:45:08
Evet gorunuse gore varmis

o halde desdur alman gerekebilir

https://docs.microsoft.com/en-us/windows/desktop/ProcThread/process-security-and-access-rights
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: Yuunus - 06 Ağustos 2018, 19:53:25
Nasil iste, sikinti ne onu anlamiyorum fonksiyon surekli false donduruyor. windows deseki aga kapattim erisimi anlarim ama oyle birseye de rastlamadim.
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: devrecii - 06 Ağustos 2018, 20:05:42
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.
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: Yuunus - 06 Ağustos 2018, 20:12:42
Win yapmasin istiyorum zaten.yaptigini biliyorum.
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: devrecii - 06 Ağustos 2018, 20:42:42
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.
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: Yuunus - 06 Ağustos 2018, 20:51:48
ne yazacaksak onu soyle o zaman tebrik edecegine
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: engerex - 07 Ağustos 2018, 00:13:29
Merhaba,
Bir bileşen yardımı ile bunu daha önce yapmıştım. Asenkrondu.
Yani mümkün.
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: Yuunus - 07 Ağustos 2018, 00:17:41
hocam aslinda win vista ile bu erisimleri kapatmis anlasilan Componenet in tam adini hatirliyorsan deneyebilirim, tesekkurler.
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: Yuunus - 07 Ağustos 2018, 16:45:51
Hallettim, SetThreadAffinityMask(thread.handle, core_num); yanlis fonksiyonu cagirmisim, direkt core number yazilarak kullanilabiliyormus, belki isine yarayan olur.
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: OG - 07 Ağustos 2018, 19:24:15
Alıntı yapılan: digiman - 06 Ağustos 2018, 18:25:06@OG Var
OG ?
Başlık: Ynt: Thread'i istedigim cekirdekte nasil calistiririm
Gönderen: Yuunus - 07 Ağustos 2018, 19:29:42
pardon hocam isimler karismis @OptimusPrime kusura bakmasin  :)