Submit Search
Upload
TPL入門
•
2 likes
•
9,555 views
Takaaki Suzuki
Follow
2011/09/17 Hokuriku.NET C# -TPL入門- セッション資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 27
Download now
Download to read offline
Recommended
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視
npsg
Apache Spark+Zeppelinでアドホックなネットワーク解析
Apache Spark+Zeppelinでアドホックなネットワーク解析
npsg
非同期の時代がやってくる!
非同期の時代がやってくる!
Takaaki Suzuki
MfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC apps
Takaaki Suzuki
The History of Reactive Extensions
The History of Reactive Extensions
Yoshifumi Kawai
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
Yoshifumi Kawai
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
Yoshifumi Kawai
Reactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event Processing
Yoshifumi Kawai
Recommended
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視
npsg
Apache Spark+Zeppelinでアドホックなネットワーク解析
Apache Spark+Zeppelinでアドホックなネットワーク解析
npsg
非同期の時代がやってくる!
非同期の時代がやってくる!
Takaaki Suzuki
MfcLightToolkit for small MFC apps
MfcLightToolkit for small MFC apps
Takaaki Suzuki
The History of Reactive Extensions
The History of Reactive Extensions
Yoshifumi Kawai
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
Yoshifumi Kawai
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
Yoshifumi Kawai
Reactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event Processing
Yoshifumi Kawai
IoTデバイス センサデータ分析システム
IoTデバイス センサデータ分析システム
Yuki Nihei
ji-6. 配列
ji-6. 配列
kunihikokaneko1
Boost Tour 1.50.0 All
Boost Tour 1.50.0 All
Akira Takahashi
Boost tour 1_40_0
Boost tour 1_40_0
Akira Takahashi
Async design with Unity3D
Async design with Unity3D
Kouji Hosoda
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
Ryo Sakamoto
60分で体験する Stream / Lambda ハンズオン
60分で体験する Stream / Lambda ハンズオン
Hiroto Yamakawa
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
akira6592
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
de:code 2017
Reconf_201409
Reconf_201409
Takefumi MIYOSHI
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
DNA Data Bank of Japan center
ATN No.2 大阪から来たJavaPuzzlers
ATN No.2 大阪から来たJavaPuzzlers
AdvancedTechNight
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要
Toshihiro Kamishima
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
akirahiguchi
新しい並列for構文のご提案
新しい並列for構文のご提案
yohhoy
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
Fujio Kojima
Arctic.js
Arctic.js
chikathreesix
20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部
NVIDIA Japan
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
Satoshi Mimura
Introduction of Python
Introduction of Python
Tomoya Nakayama
5 分で学ぶ Interpolated String Handler
5 分で学ぶ Interpolated String Handler
Takaaki Suzuki
C# における Redis 徹底活用
C# における Redis 徹底活用
Takaaki Suzuki
More Related Content
Similar to TPL入門
IoTデバイス センサデータ分析システム
IoTデバイス センサデータ分析システム
Yuki Nihei
ji-6. 配列
ji-6. 配列
kunihikokaneko1
Boost Tour 1.50.0 All
Boost Tour 1.50.0 All
Akira Takahashi
Boost tour 1_40_0
Boost tour 1_40_0
Akira Takahashi
Async design with Unity3D
Async design with Unity3D
Kouji Hosoda
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
Ryo Sakamoto
60分で体験する Stream / Lambda ハンズオン
60分で体験する Stream / Lambda ハンズオン
Hiroto Yamakawa
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
akira6592
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
de:code 2017
Reconf_201409
Reconf_201409
Takefumi MIYOSHI
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
DNA Data Bank of Japan center
ATN No.2 大阪から来たJavaPuzzlers
ATN No.2 大阪から来たJavaPuzzlers
AdvancedTechNight
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要
Toshihiro Kamishima
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
akirahiguchi
新しい並列for構文のご提案
新しい並列for構文のご提案
yohhoy
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
Fujio Kojima
Arctic.js
Arctic.js
chikathreesix
20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部
NVIDIA Japan
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
Satoshi Mimura
Introduction of Python
Introduction of Python
Tomoya Nakayama
Similar to TPL入門
(20)
IoTデバイス センサデータ分析システム
IoTデバイス センサデータ分析システム
ji-6. 配列
ji-6. 配列
Boost Tour 1.50.0 All
Boost Tour 1.50.0 All
Boost tour 1_40_0
Boost tour 1_40_0
Async design with Unity3D
Async design with Unity3D
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
60分で体験する Stream / Lambda ハンズオン
60分で体験する Stream / Lambda ハンズオン
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
[TL06] 日本の第一人者が C# の現状と今後を徹底解説! 「この素晴らしい C# に祝福を!」
Reconf_201409
Reconf_201409
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
ATN No.2 大阪から来たJavaPuzzlers
ATN No.2 大阪から来たJavaPuzzlers
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要
HandlerSocket plugin for MySQL
HandlerSocket plugin for MySQL
新しい並列for構文のご提案
新しい並列for構文のご提案
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
Arctic.js
Arctic.js
20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
Introduction of Python
Introduction of Python
More from Takaaki Suzuki
5 分で学ぶ Interpolated String Handler
5 分で学ぶ Interpolated String Handler
Takaaki Suzuki
C# における Redis 徹底活用
C# における Redis 徹底活用
Takaaki Suzuki
Inside FastEnum
Inside FastEnum
Takaaki Suzuki
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
Takaaki Suzuki
30min Serverless xTuber
30min Serverless xTuber
Takaaki Suzuki
Tetris Algorithm
Tetris Algorithm
Takaaki Suzuki
C# 7 New Features
C# 7 New Features
Takaaki Suzuki
Live Coding で学ぶ C# 7
Live Coding で学ぶ C# 7
Takaaki Suzuki
C# 7 Current Status
C# 7 Current Status
Takaaki Suzuki
4 Colors Othello’s Algorithm
4 Colors Othello’s Algorithm
Takaaki Suzuki
Sharing Deep Dive
Sharing Deep Dive
Takaaki Suzuki
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
Takaaki Suzuki
DeclarativeSql
DeclarativeSql
Takaaki Suzuki
Sevens Algorithm
Sevens Algorithm
Takaaki Suzuki
Friendly
Friendly
Takaaki Suzuki
WPF Interoperability
WPF Interoperability
Takaaki Suzuki
Universal Appとは? -デバイスに依存しないアプリケーション開発-
Universal Appとは? -デバイスに依存しないアプリケーション開発-
Takaaki Suzuki
酒の肴はC# vNext
酒の肴はC# vNext
Takaaki Suzuki
Async History in .NET
Async History in .NET
Takaaki Suzuki
SignalR Tune-up
SignalR Tune-up
Takaaki Suzuki
More from Takaaki Suzuki
(20)
5 分で学ぶ Interpolated String Handler
5 分で学ぶ Interpolated String Handler
C# における Redis 徹底活用
C# における Redis 徹底活用
Inside FastEnum
Inside FastEnum
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
30min Serverless xTuber
30min Serverless xTuber
Tetris Algorithm
Tetris Algorithm
C# 7 New Features
C# 7 New Features
Live Coding で学ぶ C# 7
Live Coding で学ぶ C# 7
C# 7 Current Status
C# 7 Current Status
4 Colors Othello’s Algorithm
4 Colors Othello’s Algorithm
Sharing Deep Dive
Sharing Deep Dive
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
DeclarativeSql
DeclarativeSql
Sevens Algorithm
Sevens Algorithm
Friendly
Friendly
WPF Interoperability
WPF Interoperability
Universal Appとは? -デバイスに依存しないアプリケーション開発-
Universal Appとは? -デバイスに依存しないアプリケーション開発-
酒の肴はC# vNext
酒の肴はC# vNext
Async History in .NET
Async History in .NET
SignalR Tune-up
SignalR Tune-up
Recently uploaded
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
Hiroshi Tomioka
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Recently uploaded
(9)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
TPL入門
1.
2.
3.
4.
堅牢性 信頼性 応答性
5.
6.
堅牢性 信頼性 応答性
7.
堅牢性 信頼性 応答性
8.
9.
10.
11.
12.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. using System; using System.Linq; using
System.Threading; namespace ConsoleApplication { class Program { static void Main() { int lower = 0; int upper = 10000; var source = Enumerable.Range(lower, upper).ToArray(); int chunk = (upper - lower) / Environment.ProcessorCount; var threads = new Thread[Environment.ProcessorCount]; for (int i = 0; i < threads.Length; i++) { int start = chunk * i + lower; int end = i < threads.Length - 1 ? start + chunk : upper; threads[i] = new Thread(() => { for (int j = start; j < end; j++) { //----- Do Something Console.WriteLine(source[j]); } }); } } } } foreach (var thread in threads) thread.Start(); foreach (var thread in threads) thread.Join();
13.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. using System; using System.Linq; using
System.Threading; namespace ConsoleApplication { class Program { static void Main() { int lower = 0; int upper = 10000; var source = Enumerable.Range(lower, upper).ToArray(); int chunk = (upper - lower) / Environment.ProcessorCount; var threads = new Thread[Environment.ProcessorCount]; for (int i = 0; i < threads.Length; i++) { int start = chunk * i + lower; int end = i < threads.Length - 1 ? start + chunk : upper; threads[i] = new Thread(() => { for (int j = start; j < end; j++) { //----- Do Something Console.WriteLine(source[j]); } }); } } } } foreach (var thread in threads) thread.Start(); foreach (var thread in threads) thread.Join();
14.
1. 2. 3. using System; using System.Linq; using
System.Threading.Tasks; 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. namespace ConsoleApplication { class Program { static void Main() { int lower = 0; int upper = 10000; var source = Enumerable.Range(lower, upper).ToArray(); Parallel.For(lower, upper, index => { //----- Do Something Console.WriteLine(source[index]); }); } } }
15.
16.
17.
実CPUに割り当てるスレッドの切り替え タイムスライスの後に同じスレッドが割り当 てられる場合は発生しない
18.
19.
CLR ThreadPool UI Thread Local Queue 1 Local Queue
2 Worker Thread 1 Global Queue Worker Thread 2 詳しくはWebで!!
20.
21.
22.
コレクション 要素 パーティション スレッドプール スレッド
23.
24.
25.
26.
タスク並列ライブラリ .NET アプリケーションの並列処理について の過去、現在、未来 .NETマルチスレッド・プログラミング入門 [雑記] スレッド
プールとタスク プログラミング .NET Framework 第3版 TPL入門 - インデックス
27.
Let’s enjoy TPL!!
Download now