2010-03-28 5 views
6

ile eşzamanlı çağrılardaki performans tıkanıklığı Ayrık iş parçacıklarının (> 15) çağrılarının performans üzerinde olumsuz bir etkisi olduğundan şüpheleniyorum. Eşzamanlı uygulamalarda sistem saatine ulaşmanın daha iyi bir yolu var mı?System.currentTimeInMillis()

+1

Sanırım olmaz, çoğu işletim sistemide işlevi bu tür iyi desteği sağlamak ve öyle tercih için System.nanoTime kullanmak Muhtemelen yerel bir yöntem olarak uygulanmaktadır. Performans problemleriniz için neden bu yöntemi suçluyorsunuz? –

+2

Bu profilin sorun olduğunu gösteren bir profil oluşturdunuz mu? –

cevap

1

Sadece küçük bir ipucu:

Ben System.nanotime kullanmak daha iyi olduğunu google mühendis ve diğer programcılar okunan. aralık zamanlaması için örnek joshua bloch

için daima System.currentTimeMillis

+2

Soruyu cevaplamıyor. Ayrıca, zamanlama için bile, System.nanoTime aralık zamanlaması için tercih edilir, OP'nin sistem saatini ne kullandığı hakkında hiçbir şey yoktur. Aralık zamanlaması burada geçerli olmayabilir. –

+0

Belki de doğrudan soruyu cevaplamıyor, ama bence başkaları da soruyu cevapladılar, ben sadece okuduğum bir ipucu verdim. – Alfred

+0

http://www.techper.net/2008/08/10/systemcurrenttimemillis-systemnanotime-and-their-resolution/ timeinMillis, MS windows'un tanecikligi ile ilgili problemleri var –

5

Gerçekten sorun çıkarsa, geçerli saati volatile numaralı telefondan depolayabilirsiniz. Ya da sadece daha az ara.

+0

+1 - “System.currentTimeMillis” e sık sık çağrı yapmak zorunda olan bir uygulama hakkında biraz garip bir şey var. –