Suche senden
Hochladen
WebWorker and Atomics
•
1 gefällt mir
•
1,824 views
Taketoshi 青野健利
Folgen
Ecmascript2017の SharedArrayBuffer Atomics について
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 12
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
V8 Iginition Interpreter
V8 Iginition Interpreter
Taketoshi 青野健利
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験
miso- soup3
50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニック
miso- soup3
ASP.NET WebAPI 体験記 #clrh99
ASP.NET WebAPI 体験記 #clrh99
Katsuya Shimizu
JSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めよう
VOYAGE GROUP
2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova
miso- soup3
OWIN って何?
OWIN って何?
miso- soup3
Empfohlen
V8 Iginition Interpreter
V8 Iginition Interpreter
Taketoshi 青野健利
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
ASP.NET WEB API 開発体験
ASP.NET WEB API 開発体験
miso- soup3
50分で掴み取る ASP.NET Web API パターン&テクニック
50分で掴み取る ASP.NET Web API パターン&テクニック
miso- soup3
ASP.NET WebAPI 体験記 #clrh99
ASP.NET WebAPI 体験記 #clrh99
Katsuya Shimizu
JSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めよう
VOYAGE GROUP
2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova
miso- soup3
OWIN って何?
OWIN って何?
miso- soup3
[jjug] Java と Benchmark
[jjug] Java と Benchmark
Tokuhiro Matsuno
React native vol3
React native vol3
dcubeio
React NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみよう
dcubeio
Web開発の最新トレンド ~1から知るASP.NET~
Web開発の最新トレンド ~1から知るASP.NET~
miso- soup3
AWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンド
暁 三宅
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
dcubeio
退屈なブラウザ作業をpuppeteerにやらせたいお話
退屈なブラウザ作業をpuppeteerにやらせたいお話
Tadashi Nemoto
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さ
Sho Okada
Blazor Web Assembly (C#) を触ってみた
Blazor Web Assembly (C#) を触ってみた
Naito Oshima
Yapc fukuoka crust
Yapc fukuoka crust
Tokuhiro Matsuno
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
Tadashi Nemoto
Java web application testing
Java web application testing
Tokuhiro Matsuno
APIモック3分クッキング
APIモック3分クッキング
政雄 金森
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
暁 三宅
VS Code Remote Containersを使った Angular開発
VS Code Remote Containersを使った Angular開発
ShuheiHonma
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Takao Tetsuro
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
ssuser070fa9
13_B_5 Who is a architect?
13_B_5 Who is a architect?
Atsushi Fukui
10分でわかるOpenAPI V3
10分でわかるOpenAPI V3
Kazuchika Sekiya
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
MILI-LLC
先入観とバイアスを考慮したWebサイトパフォーマンス改善
先入観とバイアスを考慮したWebサイトパフォーマンス改善
Yoichiro Takehora
JSON Schema in Web Frontend #insideFE
JSON Schema in Web Frontend #insideFE
Hiroyuki Anai
Weitere ähnliche Inhalte
Was ist angesagt?
[jjug] Java と Benchmark
[jjug] Java と Benchmark
Tokuhiro Matsuno
React native vol3
React native vol3
dcubeio
React NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみよう
dcubeio
Web開発の最新トレンド ~1から知るASP.NET~
Web開発の最新トレンド ~1から知るASP.NET~
miso- soup3
AWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンド
暁 三宅
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
dcubeio
退屈なブラウザ作業をpuppeteerにやらせたいお話
退屈なブラウザ作業をpuppeteerにやらせたいお話
Tadashi Nemoto
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さ
Sho Okada
Blazor Web Assembly (C#) を触ってみた
Blazor Web Assembly (C#) を触ってみた
Naito Oshima
Yapc fukuoka crust
Yapc fukuoka crust
Tokuhiro Matsuno
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
Tadashi Nemoto
Java web application testing
Java web application testing
Tokuhiro Matsuno
APIモック3分クッキング
APIモック3分クッキング
政雄 金森
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
暁 三宅
VS Code Remote Containersを使った Angular開発
VS Code Remote Containersを使った Angular開発
ShuheiHonma
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Takao Tetsuro
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
ssuser070fa9
13_B_5 Who is a architect?
13_B_5 Who is a architect?
Atsushi Fukui
10分でわかるOpenAPI V3
10分でわかるOpenAPI V3
Kazuchika Sekiya
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
MILI-LLC
Was ist angesagt?
(20)
[jjug] Java と Benchmark
[jjug] Java と Benchmark
React native vol3
React native vol3
React NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみよう
Web開発の最新トレンド ~1から知るASP.NET~
Web開発の最新トレンド ~1から知るASP.NET~
AWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンド
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
退屈なブラウザ作業をpuppeteerにやらせたいお話
退屈なブラウザ作業をpuppeteerにやらせたいお話
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さ
Blazor Web Assembly (C#) を触ってみた
Blazor Web Assembly (C#) を触ってみた
Yapc fukuoka crust
Yapc fukuoka crust
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
Java web application testing
Java web application testing
APIモック3分クッキング
APIモック3分クッキング
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
VS Code Remote Containersを使った Angular開発
VS Code Remote Containersを使った Angular開発
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
13_B_5 Who is a architect?
13_B_5 Who is a architect?
10分でわかるOpenAPI V3
10分でわかるOpenAPI V3
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
Andere mochten auch
先入観とバイアスを考慮したWebサイトパフォーマンス改善
先入観とバイアスを考慮したWebサイトパフォーマンス改善
Yoichiro Takehora
JSON Schema in Web Frontend #insideFE
JSON Schema in Web Frontend #insideFE
Hiroyuki Anai
React and-rx
React and-rx
Taketoshi 青野健利
UX Jam x UX Sketch 2017 HD
UX Jam x UX Sketch 2017 HD
Yukio Andoh
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
Router と WebSocket
Router と WebSocket
Kensaku Komatsu
Automated Testing on AWS Device Farm
Automated Testing on AWS Device Farm
Keisuke Nishitani
Serverless Architecture on AWS(20151121版)
Serverless Architecture on AWS(20151121版)
Keisuke Nishitani
形態素解析の実装言語Talk パネルディスカッション
形態素解析の実装言語Talk パネルディスカッション
JustSystems Corporation
Rancher LT Talk 20170126
Rancher LT Talk 20170126
Tetsurou Yano
インターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_study
Shinichiro Yoshida
Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知
Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知
Sunao Komuro
Rancherカタログ紹介 Hadoop + Yarn
Rancherカタログ紹介 Hadoop + Yarn
cyberblack28 Ichikawa
開発スピードの減速と再加速
開発スピードの減速と再加速
Ken-ichi Kudo
Riot.jsとフォームのデータバインディング
Riot.jsとフォームのデータバインディング
Keisuke Imai
Riot: ver.3 での変更点と、周辺ツールたち
Riot: ver.3 での変更点と、周辺ツールたち
Tsutomu Kawamura
【freee】プロダクトマネージャーの仕事と魅力
【freee】プロダクトマネージャーの仕事と魅力
dcubeio
【ビズリーチ】プロダクトマネージャーの仕事と魅力
【ビズリーチ】プロダクトマネージャーの仕事と魅力
dcubeio
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Tetsurou Yano
Riotでサーバレスにした話
Riotでサーバレスにした話
Hiroyuki Hara
Andere mochten auch
(20)
先入観とバイアスを考慮したWebサイトパフォーマンス改善
先入観とバイアスを考慮したWebサイトパフォーマンス改善
JSON Schema in Web Frontend #insideFE
JSON Schema in Web Frontend #insideFE
React and-rx
React and-rx
UX Jam x UX Sketch 2017 HD
UX Jam x UX Sketch 2017 HD
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Router と WebSocket
Router と WebSocket
Automated Testing on AWS Device Farm
Automated Testing on AWS Device Farm
Serverless Architecture on AWS(20151121版)
Serverless Architecture on AWS(20151121版)
形態素解析の実装言語Talk パネルディスカッション
形態素解析の実装言語Talk パネルディスカッション
Rancher LT Talk 20170126
Rancher LT Talk 20170126
インターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_study
Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知
Cognito、Mobile SDK、SNSでサーバいらずのプッシュ通知
Rancherカタログ紹介 Hadoop + Yarn
Rancherカタログ紹介 Hadoop + Yarn
開発スピードの減速と再加速
開発スピードの減速と再加速
Riot.jsとフォームのデータバインディング
Riot.jsとフォームのデータバインディング
Riot: ver.3 での変更点と、周辺ツールたち
Riot: ver.3 での変更点と、周辺ツールたち
【freee】プロダクトマネージャーの仕事と魅力
【freee】プロダクトマネージャーの仕事と魅力
【ビズリーチ】プロダクトマネージャーの仕事と魅力
【ビズリーチ】プロダクトマネージャーの仕事と魅力
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Riotでサーバレスにした話
Riotでサーバレスにした話
Ähnlich wie WebWorker and Atomics
Web Workers
Web Workers
kaboccha
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発
tak-nakamura
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック
Jun-ichi Sakamoto
Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術
KinebuchiTomo
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
Eight meets AWS
Eight meets AWS
Tetsuya Mase
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Yusuke Yamamoto
はじめてのBluemixでシングルサインオン ~ 希望編!
はじめてのBluemixでシングルサインオン ~ 希望編!
Kazumi IWANAGA
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
WESEEKWESEEK
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
Ito Kohta
090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa
Tomoki Maeda
Web Worker +α - HTML5/JavaScript and Service Worker API
Web Worker +α - HTML5/JavaScript and Service Worker API
Ken William
Public 20100828 j_ruby_kaigi_10things_jror_with_javaee
Public 20100828 j_ruby_kaigi_10things_jror_with_javaee
Yoshiharu Hashimoto
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
WebStormでできること
WebStormでできること
kamiyam .
Google App Engineとその影響(補足)
Google App Engineとその影響(補足)
なおき きしだ
第6回rest勉強会 アソシエーション編
第6回rest勉強会 アソシエーション編
ksimoji
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
Isomorphic web development with scala and scala.js
Isomorphic web development with scala and scala.js
TanUkkii
Web workers¶llel.js html5勉強会lt大会
Web workers¶llel.js html5勉強会lt大会
Yuta Shimakawa
Ähnlich wie WebWorker and Atomics
(20)
Web Workers
Web Workers
多分モダンなWebアプリ開発
多分モダンなWebアプリ開発
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック
jQuery Validation x ASP.NET MVC で遭遇した不具合 & 対抗ハック
Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Eight meets AWS
Eight meets AWS
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4
はじめてのBluemixでシングルサインオン ~ 希望編!
はじめてのBluemixでシングルサインオン ~ 希望編!
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Rails×React×TS で作るwebアプリ入門【weseek tech conf #10】
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
090821 Ruby Sapporo Night Ruby Cocoa
090821 Ruby Sapporo Night Ruby Cocoa
Web Worker +α - HTML5/JavaScript and Service Worker API
Web Worker +α - HTML5/JavaScript and Service Worker API
Public 20100828 j_ruby_kaigi_10things_jror_with_javaee
Public 20100828 j_ruby_kaigi_10things_jror_with_javaee
Play jjug2012spring
Play jjug2012spring
WebStormでできること
WebStormでできること
Google App Engineとその影響(補足)
Google App Engineとその影響(補足)
第6回rest勉強会 アソシエーション編
第6回rest勉強会 アソシエーション編
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Isomorphic web development with scala and scala.js
Isomorphic web development with scala and scala.js
Web workers¶llel.js html5勉強会lt大会
Web workers¶llel.js html5勉強会lt大会
Mehr von Taketoshi 青野健利
ServiceWorkerとES6 Modules時代のTypescript開発考察
ServiceWorkerとES6 Modules時代のTypescript開発考察
Taketoshi 青野健利
javascriptのデータ構造の話
javascriptのデータ構造の話
Taketoshi 青野健利
V8 javascript engine for フロントエンドデベロッパー
V8 javascript engine for フロントエンドデベロッパー
Taketoshi 青野健利
非同期javascriptの過去と未来
非同期javascriptの過去と未来
Taketoshi 青野健利
仮想DOMの実装とパフォーマンス
仮想DOMの実装とパフォーマンス
Taketoshi 青野健利
JavascriptのGC入門
JavascriptのGC入門
Taketoshi 青野健利
GraphQL with React
GraphQL with React
Taketoshi 青野健利
Jspmとtypescriptで開発する
Jspmとtypescriptで開発する
Taketoshi 青野健利
Mehr von Taketoshi 青野健利
(8)
ServiceWorkerとES6 Modules時代のTypescript開発考察
ServiceWorkerとES6 Modules時代のTypescript開発考察
javascriptのデータ構造の話
javascriptのデータ構造の話
V8 javascript engine for フロントエンドデベロッパー
V8 javascript engine for フロントエンドデベロッパー
非同期javascriptの過去と未来
非同期javascriptの過去と未来
仮想DOMの実装とパフォーマンス
仮想DOMの実装とパフォーマンス
JavascriptのGC入門
JavascriptのGC入門
GraphQL with React
GraphQL with React
Jspmとtypescriptで開発する
Jspmとtypescriptで開発する
WebWorker and Atomics
1.
WebWorker & Atomics
2.
名前: @brn_take (青野健利) 職業:
フロントエンドエンジニア・ネイティブエンジニア 会社: Cyberagent アドテクスタジオ RightSegment・AI Messenger ブログ: http://brn-log.hatenablog.com/
3.
WebWorker使ってますか?
4.
WebWorker • ネイティブスレッド! • 起動も簡単 •
メッセージパッシングでスレッドを意識しなくて良い Pros Cons • 文字列のやり取りしかできない • postMessage面倒くさい
5.
What is SharedArrayBuffer? WebWorkerの欠点を解決するもの 各Worker間で値を共有することを可能にする。 これによって、WorkerのIOでserialize/deserializeする必要が なくなった。 しかし、新たな問題が… スレッド競合…
6.
What is SharedArrayBuffer? // main.js
const worker = new Worker('thread1.js'); const sharedArrayBuffer = new SharedArrayBuffer(1024); worker.postMessage(sharedArrayBuffer); worker.addEventListener('message', m => { console.log(sharedArrayBuffer); }); //thread.js onmessage = buffer => { fetch(...) .then(res => { const responseBuffer = new UInt8Array(res.arrayBuffer()); const targetBuffer = new UInt8Array(buffer); targetBuffer.copy(responseBuffer); postMessage(targetBuffer); }); }
7.
What is Atomics? SharedArrayBufferの欠点を解決するもの Atomics経由でSharedArrayBufferの値に触れることで、 各スレッド間での変数アクセスの順序問題を解決する。
8.
What is Atomics? // thread1.js
onmessage = buffer => { setTimeout(() => { buffer[0] = 1; buffer[1] = 1; }, 10000); } // thread3.js onmessage = buffer => { while (buffer[0] !== 0) { console.log(buffer[1]); //? } }
9.
What is Atomics? // thread1.js
onmessage = buffer => { setTimeout(() => { Atomics.store(buffer, 1, 1); Atomics.store(buffer, 0, 1); }, 10000); } // thread3.js onmessage = buffer => { while (Atomics.load(buffer, 0) !== 0) { console.log(Atomics.load(buffer, 1)); //1 } }
10.
What is Atomics? メモリモデル Sequence
Consistencyが導入されます。 acquire/release等のモデルは導入されません。 実装 Google Chrome CanaryとFirefoxで動きます。 エンジン 現在のV8ではコンパイラ組み込み関数 __atomics_** Interlocked** を使って実装されてます。 実装はsrc/runtime/runtime-atomics.ccにあります。
11.
More detail ブログ見てね。 http://brn-log.hatenablog.com/entry/2017/02/07/164545
12.
ありがとうございました!
Jetzt herunterladen