SORU
2 EYLÜL 2008, Salı


Neden't JavaScript çoklu kullanım desteklemez?

Kasıtlı bir tasarım kararı veya gelecek sürümlerde düzeltilecektir olan günümüzün tarayıcıları ile ilgili bir sorun mu?

CEVAP
2 EYLÜL 2008, Salı


Javascript tarayıcıda javascript yorumlayıcı tek bir iş parçacığı (AFAIK) çünkü çoklu desteklemiyor. Hatta Google Chrome tek bir web sayfasını Javacript bu büyük eşzamanlılık sorunlara neden olur, çünkü aynı anda çalışacak, varolan web sayfalarına izin vermez. Krom mu hepsi ayrı birden çok bileşeni farklı sekmeler, eklentiler, vs.) ayrı süreçler olduğunu, ancak tek bir sayfaya birden fazla Javacript iplik olması hayal bile edemiyorum.

Oldu gibi ancak, setTimeout planlama bir çeşit izin vermek için kullanabilirsiniz ve 'sahte' eşzamanlılık. Bu tarayıcı işleme iplik kontrolünü yeniden kazanmak ve Javascript kodu milisaniye belirli sayıda sonra setTimeout verilen başlatmak için neden olur. Bu eğer bu işlemleri yaparken görüş ne yenilemek için izin vermek istiyorsanız çok kullanışlıdır. Sadece örneğin koordinatları döngü ve buna göre bir unsuru güncelleme sadece sen Başlat bakalım ve pozisyonları, arasında hiçbir şey sona erecek.

Bizi aynı Javascript yorumlayıcısı tarafından yönetilen bütün süreçleri ve iş parçacığı oluşturmak için olanak sağlayan bir Javascript soyut bir kütüphane kullanacağız. Bu bize şu şekilde: eylemler çalışmasını sağlar

  • Süreç, İplik 1
  • Süreç, İplik 2
  • Süreç B, İplik 1
  • Süreç, İplik 3
  • Süreç, İplik 4
  • Süreç B Parçacığı 2
  • Duraklatmak Bir Süreç
  • Süreç B, İplik 3
  • Süreç B, Parçacığı 4
  • Süreç B, İplik 5
  • İşlemi Başlatın
  • Süreç, İplik 5

Bu zamanlama çeşit sağlar ve paralellik, ve ipler, vesaire durması sahte, ama gerçek çoklu olmayacaktır. Sanmıyorum edecek hiç ilinde uygulanmak dilin kendisi, beri gerçek çoklu kullanışlıdır eğer tarayıcı çalıştırabilirsiniz tek bir sayfada birden çok iş parçacığı (hatta birden fazla çekirdek) ve güçlükler çok daha büyük daha fazla fırsat.

Javascript, şuna geleceği için: http://developer.mozilla.org/presentations/xtech2006/javascript/

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • Gee Cee

    Gee Cee

    1 AĞUSTOS 2009