Bu blog gönderisini okuduktan sonra: http://www.sitepoint.com/javascript-shared-web-workers-html5/HTML5'te Paylaşılan İşçi ve İşçi arasındaki fark nedir?
Anlamadım. Worker
ve SharedWorker
arasındaki fark nedir?
Bu blog gönderisini okuduktan sonra: http://www.sitepoint.com/javascript-shared-web-workers-html5/HTML5'te Paylaşılan İşçi ve İşçi arasındaki fark nedir?
Anlamadım. Worker
ve SharedWorker
arasındaki fark nedir?
Çok temel bir ayrım: bir Worker
yalnızca onu oluşturan komut dosyasından erişilebilir, bir SharedWorker
aynı etki alanından gelen herhangi bir komut dosyası tarafından erişilebilir.
Umm, yani “SharedWorker” penceresi ile açılan bir pencerede window.open ile aynı kaynaktan bulundukları varsayılarak başkalarına erişebilirler mi? Ya tamamen yeni bir sekmede bulunuyorlarsa, sanırım hayır mı? – Tower
@Tower "Aynı kaynak", başka bir sayfa oluşturan sayfa ile ilgisi yok. Komut dosyasının çağrıldığı alan adını (kabaca) ifade eder. [Bu tabloya bakın] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript # Definition_of_an_origin). Bu nedenle, her iki "example.com" da iki komut dosyası, farklı sekmelerde bile aynı "Paylaşılan İşçi" ye erişebilir. – rvighne
Yani, sıradan bir WebWorker, kullanıcı aynı sekme kullanarak aynı komut dosyasını çalıştıran sekmelerini çoğaltırsa bile yalnızca bir bağlantıya sahip olabileceği anlamına mı geliyor? Yoksa tarayıcı tarafından hala aynı senaryoyu mu ele alıyor? Başka bir deyişle, app.js worker.js'ye bağlanır, ardından kullanıcı kendi sekmelerini çoğaltır: can sekmesi 2 hala worker.js öğesine bağlanabilir mi? Worker.js, tab1'in app.js ve tab2's app.js. arasında hala aynı bellek havuzunu koruyacak mı? Ben ilgileniyorum çünkü bir arka plan işlemi/daemon bir Kuyruk yapısı korumak ve aynı uygulama içinde herhangi bir açık sekmesinden olayları bu tür bir artalan için. – Cody
SharedWorker'in daha sonra İşçi'ye göre daha fazla işlevi var gibi görünüyor. Bu işlevsellik arasında
geçerli:
SharedWorker
örnekleri, tek bir genel kapsamı paylaşır.W3C Spektroskopisi:
WHATWG Spektroskopisi:
'a bakmaya değer mi? SharedWorker'ın daha fazla "işlem gücü" var mı? – Pacerier
Bir paylaşılan çalışan birden çok bağlantıyla çalışabilir. Çeşitli komut dosyaları arasında iletişimi sağlamak için iletileri portlara gönderir. Öte yandan, özel bir işçi ana bağlantısına bağlanır ve diğer yazılara (çalışanlara) mesaj gönderemez.
Yani, sıradan bir WebWorker, kullanıcı aynı sekme kullanarak aynı komut dosyasını çalıştıran sekmelerini çoğaltırsa bile yalnızca bir bağlantıya sahip olabileceği anlamına mı geliyor? Yoksa tarayıcı tarafından hala aynı senaryoyu mu ele alıyor? Başka bir deyişle, app.js worker.js'ye bağlanır, ardından kullanıcı kendi sekmelerini çoğaltır: can sekmesi 2 hala worker.js öğesine bağlanabilir mi? Worker.js, tab1'in app.js ve tab2's app.js. arasında hala aynı bellek havuzunu koruyacak mı? Ben ilgileniyorum çünkü bir arka plan işlemi/daemon bir Kuyruk yapısı korumak ve aynı uygulama içinde herhangi bir açık sekmesinden olayları bu tür bir artalan için. – Cody
SharedWorker kullanmayı düşünen herkese - Apple, WebKit'ten 2015'te SharedWorker
desteğini kaldırdı. Yeniden yapılandırma için herhangi bir plan yoktur. Service Workers desteği WebKit için geliştirilmekte ve benzer özellikler sunmaktadır (see here for comparisons).
ServiceWorkers in WebKit here'un gelişimini (Safari desteği) takip edebilirsiniz.
Bu ne anlama geliyor? Apple, paylaşılan çalışanları desteklemiyor mu? – Pacerier
Bu, Apple WebKit'in [Changeset 178310] (https://trac.webkit.org/changeset/178310/webkit) itibariyle SharedWorkers desteğini kaldırdığı ve desteklerini yeniden planlamayı planladığı anlamına gelir. – charliebeckwith
http://www.whatwg.org/specs/web-apps/current-work/complete/workers.html#shared-workers-introduction –