çift ve dört çekirdek işlemci ile thread kullanımı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
bulutsuzluk_35
Üye
Mesajlar: 124
Kayıt: 06 Eki 2007 04:14
Konum: İzmir-Ankara-İstanbul-Antalya
İletişim:

çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen bulutsuzluk_35 »

Merhabalar

ben 4 çekirdekli bir işlemci üzerinde 4 ayrı thread çalıştırmak istiyorum ve araştırmalarım sonucu

SetThreadIdealProcessor
Get " " "

gibi apilere rastladım.Konuyla ilgili örnek kod yada yardım bekliyorum.

Yapmayı planladığım işte şu:

1.çekirdek=port dinleme yapacak(tcp) gelen stringleri stringliste ekleyecek.
2.çekirdek=stringlist'i sürekli kontrol edecek data varsa işleyecek.
3.çekirdek=işlenmiş datayı veritabanına kaydedecek
4.çekirdek=işlemin bitişinin onayını verecek.

Kod: Tümünü seç

try
  try
    inc(Bilgi);
  except
    sabir;
  end;
finally
  inc(Mutluluk);
end;
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen Ertugrul »

Demin yaptigim denemede delphinin TThread'i API kullanmadan cok cekirdekli CPU destekliyor, 2 tane thread acinca iki cekirdekte de tam kullanim gordum.
Kullanıcı avatarı
bulutsuzluk_35
Üye
Mesajlar: 124
Kayıt: 06 Eki 2007 04:14
Konum: İzmir-Ankara-İstanbul-Antalya
İletişim:

Re: çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen bulutsuzluk_35 »

ben kendi istediğim çekirdekte çalıştırmak istiyorum.Misal 8 çekirdek bir makinada 5,6,7,8. çekirdekleri kullanmak istiyorum.4çek.lide 1,2,3,4 ...vs

Kod: Tümünü seç

try
  try
    inc(Bilgi);
  except
    sabir;
  end;
finally
  inc(Mutluluk);
end;
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen Battosai »

Bu söylediklerinizi şuan için yapmanız pek mümkün değil gibi...Zira daha windows'un hiç bir işletim sistemi çekirdek sayısına göre çalışmıyor. Mesele işlemci tarafında çözülüyor...işlemci gelen komutları duruma göre göre diğer çekirdeklere paylaştırıyor...En azından ben daha böyle bir örnek görmedim ve duymadım...Kısacası windows daha çoklu thread ile çalışmazken windows üzerinde çalıştıracağınız programın bunu yapması düşünülmez.
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen mkysoft »

@Battosai windows görev yöneticisinde programın üzerine tıklayarak çalışmasını istediğiniz işlemcileri seçebiliyorsunuz. Eminimki bu seçimin yapıldığı bir api mevcuttur. Hiç olmadı taksmanager.exe dosyasını disasm edip inceleyebilirsiniz.
Kullanıcı avatarı
bulutsuzluk_35
Üye
Mesajlar: 124
Kayıt: 06 Eki 2007 04:14
Konum: İzmir-Ankara-İstanbul-Antalya
İletişim:

Re: çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen bulutsuzluk_35 »

sanırım bu problemi hallettim

setthreadaffinitymask(kanalım.handle,1)
setthreadaffinitymask(kanalım2.handle,1)

bu durum da bir çekirdek 100 de 100 çalışırken diğeri 100de 0 ve işlemci ortalama kullanımı 100 de 50

bende çift çekirdek vardı ve sanırım programlar 0.çekirdekte çalışıyor.Eğer dört çekirdek sahibi olursam kanallarımı 2.ve 3. çekirdeklere dağıtıp denicem...

Kod: Tümünü seç

try
  try
    inc(Bilgi);
  except
    sabir;
  end;
finally
  inc(Mutluluk);
end;
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen tuna »

Merhabalar. Thread programlamayı nasıl yapıyorsunuz. Bende bu konuyo yeni başladım ama pek bir bilgim yok.
Yazdığınız kodları eğer mümkünse ekleyebilirmisiniz.
ve tabi biraz açıklamada rica ediyorum.
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen Ertugrul »

tuna yazdı:Merhabalar. Thread programlamayı nasıl yapıyorsunuz. Bende bu konuyo yeni başladım ama pek bir bilgim yok.
Yazdığınız kodları eğer mümkünse ekleyebilirmisiniz.
ve tabi biraz açıklamada rica ediyorum.
Selamlar,
Bu kaynak isinizi gorur.
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen tuna »

Ertugrul yazdı:
tuna yazdı:Merhabalar. Thread programlamayı nasıl yapıyorsunuz. Bende bu konuyo yeni başladım ama pek bir bilgim yok.
Yazdığınız kodları eğer mümkünse ekleyebilirmisiniz.
ve tabi biraz açıklamada rica ediyorum.
Selamlar,
Bu kaynak isinizi gorur.
İlginiz için teşekürler. Acaba türkçe kaynak mevcutmudur.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen SimaWB »

tuna yazdı:
Ertugrul yazdı:
tuna yazdı:Merhabalar. Thread programlamayı nasıl yapıyorsunuz. Bende bu konuyo yeni başladım ama pek bir bilgim yok.
Yazdığınız kodları eğer mümkünse ekleyebilirmisiniz.
ve tabi biraz açıklamada rica ediyorum.
Selamlar,
Bu kaynak isinizi gorur.
İlginiz için teşekürler. Acaba türkçe kaynak mevcutmudur.
Türkçe kaynak :
http://www.diyezon.com/index.php/2007/1 ... i-bolum-1/
http://www.diyezon.com/index.php/2007/1 ... i-bolum-2/
There's no place like 127.0.0.1
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: çift ve dört çekirdek işlemci ile thread kullanımı

Mesaj gönderen tuna »

Bu kaynağı daha önceden okumuştum. Ama tam yeterli bir kaynak değil burası.
Cevapla