Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > timer işlemiyor
Yazar
barboonia


avatar
cennet kösesi
Kayıt: 09.10.2009
12.07.2010-17:57 #70313
kolay gelsin arkadaşlar,
java ile bir aygıta gömülü yazılım yazmam gerekiyor. işin içinden saçma bir şekilde çıkıyorum ama işlemci %178 lere dayanıyor.dancing (mac olmasına bağlıyoruz)

her 1-2 dakikada bi kaç işlem yapmam lazım. ve cihaz timer komutlarını çalıştırmıyor. bende while ile dönüp thread ile de uyutarak saçma bir yöntem ile çözdüm ama dediğim gibi işlemci sapıtıyor. acaba bunu yapmanın başka yolu var mıdır java da?angel





süphesiz ki Antalya dünyanin en güzel sehridir...
Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
12.07.2010-18:59 #70314
muhtemelen loop a giriyorsun bir yerlerde.
pc uzerinde simule edebiliyorsan bir profiler ile hatalı kısmı bulabilirsin.





N/A
Yazar
barboonia


avatar
cennet kösesi
Kayıt: 09.10.2009
13.07.2010-09:19 #70317
muhtemelen değil bilinçli bir şekilde loop a giriyorum çünkü mesela her 3 saniyede işlem yapmasını istiyorum. yaptığım şekil şu;
while(true)
{
//bla bla
Thread.sleep(3000);
}
buda doğal olarak işlemciyi baya baya kasıyor.
böyle yapmak zorunda kaldım çünkü kodu cihaza yüklediğim zaman timer çalışmıyor.
benim sorum bunu başka nasıl yapabilirm? önerisi olan var mı?confused





süphesiz ki Antalya dünyanin en güzel sehridir...
Yazar
ascii


avatar
öz
Kayıt: 26.07.2006
13.07.2010-19:38 #70322
Şimdi java daki mekanizmayı bilmiyorum ama burda thread ana thread mi yani uygulama akışını sağlayan ana threadi mi?

Java da nasıl işler bilmiyorum ama kodunu alt thread kontrolüne al ve alt threadin içinde o thread e sleep uygula ben olsam öle yapardım c / c++ da.

sleep işlemciyi kasmaz hatta rahatlatır ama sen uygulamanın ana threadini sleep ettiğin için kasıyor gibi geliyordur. Çünkü uygulama akışı duruyor tepki vermiyor. ama lat threadle yaparsan sorun çözülür.

şimdi baktım da Java ya belki şöle yapılabilir.

class AltThread extends Thread
{

//bla 
//bla

//run override et
   public void run()
   {
        while(true) {
        bu kısım çalışması gereken kodun olsun
        this.sleep(3000);
        }
   }
}


aha sonra bunu start et. javadan anlamam ama belki sana böyle bir yöntemin yardımı olabilir.

Not : Bu arada threadler ne kadar kolay işliyor javada öle yaa.





Windows is a misunderstood Unix.


Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb