Multithreading with C# Cookbook /:
Over 70 recipes to get you writing powerful and efficient multithreaded, asynchronous, and parallel programs in C# 6.0 About This Book Rewritten and updated to take advantage of the latest C# 6 features Learn about multithreaded, asynchronous, and parallel programming through hands-on, code-first ex...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham, UK :
Packt Publishing,
2016.
|
Ausgabe: | Second edition. |
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | Over 70 recipes to get you writing powerful and efficient multithreaded, asynchronous, and parallel programs in C# 6.0 About This Book Rewritten and updated to take advantage of the latest C# 6 features Learn about multithreaded, asynchronous, and parallel programming through hands-on, code-first examples Use these recipes to build fast, scalable, and reliable applications in C# Who This Book Is For This book is aimed at those who are new to multithreaded programming, and who are looking for a quick and easy way to get started. It is assumed that you have some experience in C# and .NET already, and you should also be familiar with basic computer science terminology and basic algorithms and data structures. What You Will Learn Use C# 6.0 asynchronous language features Work with raw threads, synchronize threads, and coordinate their work Develop your own asynchronous API with Task Parallel Library Work effectively with a thread pool Scale up your server application with I/O threads Parallelize your LINQ queries with PLINQ Use common concurrent collections Apply different parallel programming patterns Use Reactive Extensions to run asynchronous operations and manage their options In Detail Multi-core processors are synonymous with computing speed and power in today's world, which is why multithreading has become a key concern for C# developers. Multithreaded code helps you create effective, scalable, and responsive applications. This is an easy-to-follow guide that will show you difficult programming problems in context. You will learn how to solve them with practical, hands-on, recipes. With these recipes, you'll be able to start creating your own scalable and reliable multithreaded applications. Starting from learning what a thread is, we guide you through the basics and then move on to more advanced concepts such as task parallel libraries, C# asynchronous functions, and much more. Rewritten to the latest C# specification, C# 6, and updated with new and modern recipes to help you make the most of the hardware you have available, this book will help you push the boundaries of what you thought possible in C#. Style and approach This is an easy-to-follow guide full of hands-on examples of real-world multithreading tasks. Each topic is explained and placed in context, and for the more inquisitive, there are also more in-depth details of the concepts used. |
Beschreibung: | 1 online resource |
ISBN: | 9781785884009 178588400X 9781785881251 1785881256 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-ocn969071101 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr cnu---unuuu | ||
008 | 160421s2016 enk o 000 0 eng d | ||
040 | |a FEM |b eng |e pn |c FEM |d OCLCQ |d N$T |d AGLDB |d EBLCP |d MERUC |d CHVBK |d COO |d VT2 |d DEBBG |d WYU |d LVT |d STF |d OCLCF |d BTN |d AUW |d INTCL |d MHW |d SNK |d UKAHL |d OCLCQ |d UKMGB |d OCLCQ |d CNCEN |d K6U |d OCLCQ |d OCLCO |d OCLCQ |d OCLCO | ||
015 | |a GBB663868 |2 bnb | ||
016 | 7 | |a 017837331 |2 Uk | |
019 | |a 966088810 |a 989817907 |a 1103267323 | ||
020 | |a 9781785884009 |q (electronic bk.) | ||
020 | |a 178588400X |q (electronic bk.) | ||
020 | |a 9781785881251 | ||
020 | |a 1785881256 |q (Trade Paper) | ||
024 | 3 | |a 9781785881251 | |
035 | |a (OCoLC)969071101 |z (OCoLC)966088810 |z (OCoLC)989817907 |z (OCoLC)1103267323 | ||
037 | |a 2992164104778112415 |b TotalBoox |f Ebook only |n www.totalboox.com | ||
050 | 4 | |a QA76.73.C153 | |
072 | 7 | |a COM |x 051070 |2 bisacsh | |
082 | 7 | |a 005.133 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Agafonov, Eugene, |e author. | |
245 | 1 | 0 | |a Multithreading with C# Cookbook / |c Eugene Agafonov. |
250 | |a Second edition. | ||
260 | |a Birmingham, UK : |b Packt Publishing, |c 2016. | ||
300 | |a 1 online resource | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
347 | |a text file | ||
520 | |a Over 70 recipes to get you writing powerful and efficient multithreaded, asynchronous, and parallel programs in C# 6.0 About This Book Rewritten and updated to take advantage of the latest C# 6 features Learn about multithreaded, asynchronous, and parallel programming through hands-on, code-first examples Use these recipes to build fast, scalable, and reliable applications in C# Who This Book Is For This book is aimed at those who are new to multithreaded programming, and who are looking for a quick and easy way to get started. It is assumed that you have some experience in C# and .NET already, and you should also be familiar with basic computer science terminology and basic algorithms and data structures. What You Will Learn Use C# 6.0 asynchronous language features Work with raw threads, synchronize threads, and coordinate their work Develop your own asynchronous API with Task Parallel Library Work effectively with a thread pool Scale up your server application with I/O threads Parallelize your LINQ queries with PLINQ Use common concurrent collections Apply different parallel programming patterns Use Reactive Extensions to run asynchronous operations and manage their options In Detail Multi-core processors are synonymous with computing speed and power in today's world, which is why multithreading has become a key concern for C# developers. Multithreaded code helps you create effective, scalable, and responsive applications. This is an easy-to-follow guide that will show you difficult programming problems in context. You will learn how to solve them with practical, hands-on, recipes. With these recipes, you'll be able to start creating your own scalable and reliable multithreaded applications. Starting from learning what a thread is, we guide you through the basics and then move on to more advanced concepts such as task parallel libraries, C# asynchronous functions, and much more. Rewritten to the latest C# specification, C# 6, and updated with new and modern recipes to help you make the most of the hardware you have available, this book will help you push the boundaries of what you thought possible in C#. Style and approach This is an easy-to-follow guide full of hands-on examples of real-world multithreading tasks. Each topic is explained and placed in context, and for the more inquisitive, there are also more in-depth details of the concepts used. | ||
588 | 0 | |a Vendor-supplied metadata. | |
505 | 0 | |a Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Threading Basics; Introduction; Creating a thread in C#; Pausing a thread; Making a thread wait; Aborting a thread; Determining a thread state; Thread priority; Foreground and background threads; Passing parameters to a thread; Locking with a C# lock keyword; Locking with a Monitor construct; Handling exceptions; Chapter 2: Thread Synchronization; Introduction; Performing basic atomic operations; Using the Mutex construct; Using the SemaphoreSlim construct. | |
505 | 8 | |a Using the AutoResetEvent constructUsing the ManualResetEventSlim construct; Using the CountDownEvent construct; Using the Barrier construct; Using the ReaderWriterLockSlim construct; Using the SpinWait construct; Chapter 3: Using a Thread Pool; Introduction; Invoking a delegate on a thread pool; Posting an asynchronous operation on a thread pool; A thread pool and the degree of parallelism; Implementing a cancellation option; Using a wait handle and timeout with a thread pool; Using a timer; Using the BackgroundWorker component; Chapter 4: Using the Task Parallel Library; Introduction. | |
505 | 8 | |a Creating a taskPerforming basic operations with a task; Combining tasks; Converting the APM pattern to tasks; Converting the EAP pattern to tasks; Implementing a cancelation option; Handling exceptions in tasks; Running tasks in parallel; Tweaking the execution of tasks with TaskScheduler; Chapter 5: Using C# 6.0; Introduction; Using the await operator to get asynchronous task results; Using the await operator in a lambda expression; Using the await operator with consequent asynchronous tasks; Using the await operator for the execution of parallel asynchronous tasks. | |
505 | 8 | |a Handling exceptions in asynchronous operationsAvoiding the use of the captured synchronization context; Working around the async void method; Designing a custom awaitable type; Using the dynamic type with await; Chapter 6: Using Concurrent Collections; Introduction; Using ConcurrentDictionary; Implementing asynchronous processing using ConcurrentQueue; Changing asynchronous processing order with ConcurrentStack; Creating a scalable crawler with ConcurrentBag; Generalizing asynchronous processing with BlockingCollection; Chapter 7: Using PLINQ; Introduction; Using the Parallel class. | |
505 | 8 | |a Parallelizing a LINQ queryTweaking the parameters of a PLINQ query; Handling exceptions in a PLINQ query; Managing data partitioning in a PLINQ query; Creating a custom aggregator for a PLINQ query; Chapter 8: Reactive Extensions; Introduction; Converting a collection to an asynchronous Observable; Writing custom Observable; Using the Subjects type; Creating an Observable object; Using LINQ queries against an observable collection; Creating asynchronous operations with Rx; Chapter 9: Using Asynchronous I/O; Introduction; Working with files asynchronously. | |
650 | 0 | |a C# (Computer program language) |0 http://id.loc.gov/authorities/subjects/sh2001001705 | |
650 | 0 | |a Simultaneous multithreading processors. |0 http://id.loc.gov/authorities/subjects/sh2003004752 | |
650 | 0 | |a Threads (Computer programs) |0 http://id.loc.gov/authorities/subjects/sh97002264 | |
650 | 0 | |a Parallel programming (Computer science) |0 http://id.loc.gov/authorities/subjects/sh85097827 | |
650 | 6 | |a C# (Langage de programmation) | |
650 | 6 | |a Multifil simultané. | |
650 | 6 | |a Threads (Logiciels) | |
650 | 6 | |a Programmation parallèle (Informatique) | |
650 | 7 | |a COMPUTERS |x Programming Languages |x C++ |2 bisacsh | |
650 | 7 | |a C# (Computer program language) |2 fast | |
650 | 7 | |a Parallel programming (Computer science) |2 fast | |
650 | 7 | |a Simultaneous multithreading processors |2 fast | |
650 | 7 | |a Threads (Computer programs) |2 fast | |
655 | 4 | |a Programming Languages; Programming. | |
776 | 0 | 8 | |i Print version: |a Agafonov, Eugene. |t Multithreading with C# Cookbook - Second Edition. |d Birmingham : Packt Publishing, ©2016 |
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1225895 |3 Volltext |
938 | |a Askews and Holts Library Services |b ASKH |n BDZ0027499273 | ||
938 | |a ProQuest Ebook Central |b EBLB |n EBL4872191 | ||
938 | |a EBSCOhost |b EBSC |n 1225895 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-ocn969071101 |
---|---|
_version_ | 1816882376075116544 |
adam_text | |
any_adam_object | |
author | Agafonov, Eugene |
author_facet | Agafonov, Eugene |
author_role | aut |
author_sort | Agafonov, Eugene |
author_variant | e a ea |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.C153 |
callnumber-search | QA76.73.C153 |
callnumber-sort | QA 276.73 C153 |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Threading Basics; Introduction; Creating a thread in C#; Pausing a thread; Making a thread wait; Aborting a thread; Determining a thread state; Thread priority; Foreground and background threads; Passing parameters to a thread; Locking with a C# lock keyword; Locking with a Monitor construct; Handling exceptions; Chapter 2: Thread Synchronization; Introduction; Performing basic atomic operations; Using the Mutex construct; Using the SemaphoreSlim construct. Using the AutoResetEvent constructUsing the ManualResetEventSlim construct; Using the CountDownEvent construct; Using the Barrier construct; Using the ReaderWriterLockSlim construct; Using the SpinWait construct; Chapter 3: Using a Thread Pool; Introduction; Invoking a delegate on a thread pool; Posting an asynchronous operation on a thread pool; A thread pool and the degree of parallelism; Implementing a cancellation option; Using a wait handle and timeout with a thread pool; Using a timer; Using the BackgroundWorker component; Chapter 4: Using the Task Parallel Library; Introduction. Creating a taskPerforming basic operations with a task; Combining tasks; Converting the APM pattern to tasks; Converting the EAP pattern to tasks; Implementing a cancelation option; Handling exceptions in tasks; Running tasks in parallel; Tweaking the execution of tasks with TaskScheduler; Chapter 5: Using C# 6.0; Introduction; Using the await operator to get asynchronous task results; Using the await operator in a lambda expression; Using the await operator with consequent asynchronous tasks; Using the await operator for the execution of parallel asynchronous tasks. Handling exceptions in asynchronous operationsAvoiding the use of the captured synchronization context; Working around the async void method; Designing a custom awaitable type; Using the dynamic type with await; Chapter 6: Using Concurrent Collections; Introduction; Using ConcurrentDictionary; Implementing asynchronous processing using ConcurrentQueue; Changing asynchronous processing order with ConcurrentStack; Creating a scalable crawler with ConcurrentBag; Generalizing asynchronous processing with BlockingCollection; Chapter 7: Using PLINQ; Introduction; Using the Parallel class. Parallelizing a LINQ queryTweaking the parameters of a PLINQ query; Handling exceptions in a PLINQ query; Managing data partitioning in a PLINQ query; Creating a custom aggregator for a PLINQ query; Chapter 8: Reactive Extensions; Introduction; Converting a collection to an asynchronous Observable; Writing custom Observable; Using the Subjects type; Creating an Observable object; Using LINQ queries against an observable collection; Creating asynchronous operations with Rx; Chapter 9: Using Asynchronous I/O; Introduction; Working with files asynchronously. |
ctrlnum | (OCoLC)969071101 |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | Second edition. |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>08188cam a2200709 i 4500</leader><controlfield tag="001">ZDB-4-EBA-ocn969071101</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr cnu---unuuu</controlfield><controlfield tag="008">160421s2016 enk o 000 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">FEM</subfield><subfield code="b">eng</subfield><subfield code="e">pn</subfield><subfield code="c">FEM</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">N$T</subfield><subfield code="d">AGLDB</subfield><subfield code="d">EBLCP</subfield><subfield code="d">MERUC</subfield><subfield code="d">CHVBK</subfield><subfield code="d">COO</subfield><subfield code="d">VT2</subfield><subfield code="d">DEBBG</subfield><subfield code="d">WYU</subfield><subfield code="d">LVT</subfield><subfield code="d">STF</subfield><subfield code="d">OCLCF</subfield><subfield code="d">BTN</subfield><subfield code="d">AUW</subfield><subfield code="d">INTCL</subfield><subfield code="d">MHW</subfield><subfield code="d">SNK</subfield><subfield code="d">UKAHL</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">UKMGB</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">CNCEN</subfield><subfield code="d">K6U</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield></datafield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBB663868</subfield><subfield code="2">bnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">017837331</subfield><subfield code="2">Uk</subfield></datafield><datafield tag="019" ind1=" " ind2=" "><subfield code="a">966088810</subfield><subfield code="a">989817907</subfield><subfield code="a">1103267323</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781785884009</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">178588400X</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781785881251</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1785881256</subfield><subfield code="q">(Trade Paper)</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9781785881251</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)969071101</subfield><subfield code="z">(OCoLC)966088810</subfield><subfield code="z">(OCoLC)989817907</subfield><subfield code="z">(OCoLC)1103267323</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">2992164104778112415</subfield><subfield code="b">TotalBoox</subfield><subfield code="f">Ebook only</subfield><subfield code="n">www.totalboox.com</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.73.C153</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051070</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Agafonov, Eugene,</subfield><subfield code="e">author.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Multithreading with C# Cookbook /</subfield><subfield code="c">Eugene Agafonov.</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Second edition.</subfield></datafield><datafield tag="260" ind1=" " ind2=" "><subfield code="a">Birmingham, UK :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2016.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="347" ind1=" " ind2=" "><subfield code="a">text file</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Over 70 recipes to get you writing powerful and efficient multithreaded, asynchronous, and parallel programs in C# 6.0 About This Book Rewritten and updated to take advantage of the latest C# 6 features Learn about multithreaded, asynchronous, and parallel programming through hands-on, code-first examples Use these recipes to build fast, scalable, and reliable applications in C# Who This Book Is For This book is aimed at those who are new to multithreaded programming, and who are looking for a quick and easy way to get started. It is assumed that you have some experience in C# and .NET already, and you should also be familiar with basic computer science terminology and basic algorithms and data structures. What You Will Learn Use C# 6.0 asynchronous language features Work with raw threads, synchronize threads, and coordinate their work Develop your own asynchronous API with Task Parallel Library Work effectively with a thread pool Scale up your server application with I/O threads Parallelize your LINQ queries with PLINQ Use common concurrent collections Apply different parallel programming patterns Use Reactive Extensions to run asynchronous operations and manage their options In Detail Multi-core processors are synonymous with computing speed and power in today's world, which is why multithreading has become a key concern for C# developers. Multithreaded code helps you create effective, scalable, and responsive applications. This is an easy-to-follow guide that will show you difficult programming problems in context. You will learn how to solve them with practical, hands-on, recipes. With these recipes, you'll be able to start creating your own scalable and reliable multithreaded applications. Starting from learning what a thread is, we guide you through the basics and then move on to more advanced concepts such as task parallel libraries, C# asynchronous functions, and much more. Rewritten to the latest C# specification, C# 6, and updated with new and modern recipes to help you make the most of the hardware you have available, this book will help you push the boundaries of what you thought possible in C#. Style and approach This is an easy-to-follow guide full of hands-on examples of real-world multithreading tasks. Each topic is explained and placed in context, and for the more inquisitive, there are also more in-depth details of the concepts used.</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Vendor-supplied metadata.</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Threading Basics; Introduction; Creating a thread in C#; Pausing a thread; Making a thread wait; Aborting a thread; Determining a thread state; Thread priority; Foreground and background threads; Passing parameters to a thread; Locking with a C# lock keyword; Locking with a Monitor construct; Handling exceptions; Chapter 2: Thread Synchronization; Introduction; Performing basic atomic operations; Using the Mutex construct; Using the SemaphoreSlim construct.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Using the AutoResetEvent constructUsing the ManualResetEventSlim construct; Using the CountDownEvent construct; Using the Barrier construct; Using the ReaderWriterLockSlim construct; Using the SpinWait construct; Chapter 3: Using a Thread Pool; Introduction; Invoking a delegate on a thread pool; Posting an asynchronous operation on a thread pool; A thread pool and the degree of parallelism; Implementing a cancellation option; Using a wait handle and timeout with a thread pool; Using a timer; Using the BackgroundWorker component; Chapter 4: Using the Task Parallel Library; Introduction.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Creating a taskPerforming basic operations with a task; Combining tasks; Converting the APM pattern to tasks; Converting the EAP pattern to tasks; Implementing a cancelation option; Handling exceptions in tasks; Running tasks in parallel; Tweaking the execution of tasks with TaskScheduler; Chapter 5: Using C# 6.0; Introduction; Using the await operator to get asynchronous task results; Using the await operator in a lambda expression; Using the await operator with consequent asynchronous tasks; Using the await operator for the execution of parallel asynchronous tasks.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Handling exceptions in asynchronous operationsAvoiding the use of the captured synchronization context; Working around the async void method; Designing a custom awaitable type; Using the dynamic type with await; Chapter 6: Using Concurrent Collections; Introduction; Using ConcurrentDictionary; Implementing asynchronous processing using ConcurrentQueue; Changing asynchronous processing order with ConcurrentStack; Creating a scalable crawler with ConcurrentBag; Generalizing asynchronous processing with BlockingCollection; Chapter 7: Using PLINQ; Introduction; Using the Parallel class.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Parallelizing a LINQ queryTweaking the parameters of a PLINQ query; Handling exceptions in a PLINQ query; Managing data partitioning in a PLINQ query; Creating a custom aggregator for a PLINQ query; Chapter 8: Reactive Extensions; Introduction; Converting a collection to an asynchronous Observable; Writing custom Observable; Using the Subjects type; Creating an Observable object; Using LINQ queries against an observable collection; Creating asynchronous operations with Rx; Chapter 9: Using Asynchronous I/O; Introduction; Working with files asynchronously.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">C# (Computer program language)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh2001001705</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Simultaneous multithreading processors.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh2003004752</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Threads (Computer programs)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh97002264</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Parallel programming (Computer science)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh85097827</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">C# (Langage de programmation)</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Multifil simultané.</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Threads (Logiciels)</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Programmation parallèle (Informatique)</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Programming Languages</subfield><subfield code="x">C++</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">C# (Computer program language)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Parallel programming (Computer science)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Simultaneous multithreading processors</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Threads (Computer programs)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="655" ind1=" " ind2="4"><subfield code="a">Programming Languages; Programming.</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version:</subfield><subfield code="a">Agafonov, Eugene.</subfield><subfield code="t">Multithreading with C# Cookbook - Second Edition.</subfield><subfield code="d">Birmingham : Packt Publishing, ©2016</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1225895</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">Askews and Holts Library Services</subfield><subfield code="b">ASKH</subfield><subfield code="n">BDZ0027499273</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">ProQuest Ebook Central</subfield><subfield code="b">EBLB</subfield><subfield code="n">EBL4872191</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">1225895</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
genre | Programming Languages; Programming. |
genre_facet | Programming Languages; Programming. |
id | ZDB-4-EBA-ocn969071101 |
illustrated | Not Illustrated |
indexdate | 2024-11-27T13:27:37Z |
institution | BVB |
isbn | 9781785884009 178588400X 9781785881251 1785881256 |
language | English |
oclc_num | 969071101 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource |
psigel | ZDB-4-EBA |
publishDate | 2016 |
publishDateSearch | 2016 |
publishDateSort | 2016 |
publisher | Packt Publishing, |
record_format | marc |
spelling | Agafonov, Eugene, author. Multithreading with C# Cookbook / Eugene Agafonov. Second edition. Birmingham, UK : Packt Publishing, 2016. 1 online resource text txt rdacontent computer c rdamedia online resource cr rdacarrier text file Over 70 recipes to get you writing powerful and efficient multithreaded, asynchronous, and parallel programs in C# 6.0 About This Book Rewritten and updated to take advantage of the latest C# 6 features Learn about multithreaded, asynchronous, and parallel programming through hands-on, code-first examples Use these recipes to build fast, scalable, and reliable applications in C# Who This Book Is For This book is aimed at those who are new to multithreaded programming, and who are looking for a quick and easy way to get started. It is assumed that you have some experience in C# and .NET already, and you should also be familiar with basic computer science terminology and basic algorithms and data structures. What You Will Learn Use C# 6.0 asynchronous language features Work with raw threads, synchronize threads, and coordinate their work Develop your own asynchronous API with Task Parallel Library Work effectively with a thread pool Scale up your server application with I/O threads Parallelize your LINQ queries with PLINQ Use common concurrent collections Apply different parallel programming patterns Use Reactive Extensions to run asynchronous operations and manage their options In Detail Multi-core processors are synonymous with computing speed and power in today's world, which is why multithreading has become a key concern for C# developers. Multithreaded code helps you create effective, scalable, and responsive applications. This is an easy-to-follow guide that will show you difficult programming problems in context. You will learn how to solve them with practical, hands-on, recipes. With these recipes, you'll be able to start creating your own scalable and reliable multithreaded applications. Starting from learning what a thread is, we guide you through the basics and then move on to more advanced concepts such as task parallel libraries, C# asynchronous functions, and much more. Rewritten to the latest C# specification, C# 6, and updated with new and modern recipes to help you make the most of the hardware you have available, this book will help you push the boundaries of what you thought possible in C#. Style and approach This is an easy-to-follow guide full of hands-on examples of real-world multithreading tasks. Each topic is explained and placed in context, and for the more inquisitive, there are also more in-depth details of the concepts used. Vendor-supplied metadata. Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Threading Basics; Introduction; Creating a thread in C#; Pausing a thread; Making a thread wait; Aborting a thread; Determining a thread state; Thread priority; Foreground and background threads; Passing parameters to a thread; Locking with a C# lock keyword; Locking with a Monitor construct; Handling exceptions; Chapter 2: Thread Synchronization; Introduction; Performing basic atomic operations; Using the Mutex construct; Using the SemaphoreSlim construct. Using the AutoResetEvent constructUsing the ManualResetEventSlim construct; Using the CountDownEvent construct; Using the Barrier construct; Using the ReaderWriterLockSlim construct; Using the SpinWait construct; Chapter 3: Using a Thread Pool; Introduction; Invoking a delegate on a thread pool; Posting an asynchronous operation on a thread pool; A thread pool and the degree of parallelism; Implementing a cancellation option; Using a wait handle and timeout with a thread pool; Using a timer; Using the BackgroundWorker component; Chapter 4: Using the Task Parallel Library; Introduction. Creating a taskPerforming basic operations with a task; Combining tasks; Converting the APM pattern to tasks; Converting the EAP pattern to tasks; Implementing a cancelation option; Handling exceptions in tasks; Running tasks in parallel; Tweaking the execution of tasks with TaskScheduler; Chapter 5: Using C# 6.0; Introduction; Using the await operator to get asynchronous task results; Using the await operator in a lambda expression; Using the await operator with consequent asynchronous tasks; Using the await operator for the execution of parallel asynchronous tasks. Handling exceptions in asynchronous operationsAvoiding the use of the captured synchronization context; Working around the async void method; Designing a custom awaitable type; Using the dynamic type with await; Chapter 6: Using Concurrent Collections; Introduction; Using ConcurrentDictionary; Implementing asynchronous processing using ConcurrentQueue; Changing asynchronous processing order with ConcurrentStack; Creating a scalable crawler with ConcurrentBag; Generalizing asynchronous processing with BlockingCollection; Chapter 7: Using PLINQ; Introduction; Using the Parallel class. Parallelizing a LINQ queryTweaking the parameters of a PLINQ query; Handling exceptions in a PLINQ query; Managing data partitioning in a PLINQ query; Creating a custom aggregator for a PLINQ query; Chapter 8: Reactive Extensions; Introduction; Converting a collection to an asynchronous Observable; Writing custom Observable; Using the Subjects type; Creating an Observable object; Using LINQ queries against an observable collection; Creating asynchronous operations with Rx; Chapter 9: Using Asynchronous I/O; Introduction; Working with files asynchronously. C# (Computer program language) http://id.loc.gov/authorities/subjects/sh2001001705 Simultaneous multithreading processors. http://id.loc.gov/authorities/subjects/sh2003004752 Threads (Computer programs) http://id.loc.gov/authorities/subjects/sh97002264 Parallel programming (Computer science) http://id.loc.gov/authorities/subjects/sh85097827 C# (Langage de programmation) Multifil simultané. Threads (Logiciels) Programmation parallèle (Informatique) COMPUTERS Programming Languages C++ bisacsh C# (Computer program language) fast Parallel programming (Computer science) fast Simultaneous multithreading processors fast Threads (Computer programs) fast Programming Languages; Programming. Print version: Agafonov, Eugene. Multithreading with C# Cookbook - Second Edition. Birmingham : Packt Publishing, ©2016 FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1225895 Volltext |
spellingShingle | Agafonov, Eugene Multithreading with C# Cookbook / Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Threading Basics; Introduction; Creating a thread in C#; Pausing a thread; Making a thread wait; Aborting a thread; Determining a thread state; Thread priority; Foreground and background threads; Passing parameters to a thread; Locking with a C# lock keyword; Locking with a Monitor construct; Handling exceptions; Chapter 2: Thread Synchronization; Introduction; Performing basic atomic operations; Using the Mutex construct; Using the SemaphoreSlim construct. Using the AutoResetEvent constructUsing the ManualResetEventSlim construct; Using the CountDownEvent construct; Using the Barrier construct; Using the ReaderWriterLockSlim construct; Using the SpinWait construct; Chapter 3: Using a Thread Pool; Introduction; Invoking a delegate on a thread pool; Posting an asynchronous operation on a thread pool; A thread pool and the degree of parallelism; Implementing a cancellation option; Using a wait handle and timeout with a thread pool; Using a timer; Using the BackgroundWorker component; Chapter 4: Using the Task Parallel Library; Introduction. Creating a taskPerforming basic operations with a task; Combining tasks; Converting the APM pattern to tasks; Converting the EAP pattern to tasks; Implementing a cancelation option; Handling exceptions in tasks; Running tasks in parallel; Tweaking the execution of tasks with TaskScheduler; Chapter 5: Using C# 6.0; Introduction; Using the await operator to get asynchronous task results; Using the await operator in a lambda expression; Using the await operator with consequent asynchronous tasks; Using the await operator for the execution of parallel asynchronous tasks. Handling exceptions in asynchronous operationsAvoiding the use of the captured synchronization context; Working around the async void method; Designing a custom awaitable type; Using the dynamic type with await; Chapter 6: Using Concurrent Collections; Introduction; Using ConcurrentDictionary; Implementing asynchronous processing using ConcurrentQueue; Changing asynchronous processing order with ConcurrentStack; Creating a scalable crawler with ConcurrentBag; Generalizing asynchronous processing with BlockingCollection; Chapter 7: Using PLINQ; Introduction; Using the Parallel class. Parallelizing a LINQ queryTweaking the parameters of a PLINQ query; Handling exceptions in a PLINQ query; Managing data partitioning in a PLINQ query; Creating a custom aggregator for a PLINQ query; Chapter 8: Reactive Extensions; Introduction; Converting a collection to an asynchronous Observable; Writing custom Observable; Using the Subjects type; Creating an Observable object; Using LINQ queries against an observable collection; Creating asynchronous operations with Rx; Chapter 9: Using Asynchronous I/O; Introduction; Working with files asynchronously. C# (Computer program language) http://id.loc.gov/authorities/subjects/sh2001001705 Simultaneous multithreading processors. http://id.loc.gov/authorities/subjects/sh2003004752 Threads (Computer programs) http://id.loc.gov/authorities/subjects/sh97002264 Parallel programming (Computer science) http://id.loc.gov/authorities/subjects/sh85097827 C# (Langage de programmation) Multifil simultané. Threads (Logiciels) Programmation parallèle (Informatique) COMPUTERS Programming Languages C++ bisacsh C# (Computer program language) fast Parallel programming (Computer science) fast Simultaneous multithreading processors fast Threads (Computer programs) fast |
subject_GND | http://id.loc.gov/authorities/subjects/sh2001001705 http://id.loc.gov/authorities/subjects/sh2003004752 http://id.loc.gov/authorities/subjects/sh97002264 http://id.loc.gov/authorities/subjects/sh85097827 |
title | Multithreading with C# Cookbook / |
title_auth | Multithreading with C# Cookbook / |
title_exact_search | Multithreading with C# Cookbook / |
title_full | Multithreading with C# Cookbook / Eugene Agafonov. |
title_fullStr | Multithreading with C# Cookbook / Eugene Agafonov. |
title_full_unstemmed | Multithreading with C# Cookbook / Eugene Agafonov. |
title_short | Multithreading with C# Cookbook / |
title_sort | multithreading with c cookbook |
topic | C# (Computer program language) http://id.loc.gov/authorities/subjects/sh2001001705 Simultaneous multithreading processors. http://id.loc.gov/authorities/subjects/sh2003004752 Threads (Computer programs) http://id.loc.gov/authorities/subjects/sh97002264 Parallel programming (Computer science) http://id.loc.gov/authorities/subjects/sh85097827 C# (Langage de programmation) Multifil simultané. Threads (Logiciels) Programmation parallèle (Informatique) COMPUTERS Programming Languages C++ bisacsh C# (Computer program language) fast Parallel programming (Computer science) fast Simultaneous multithreading processors fast Threads (Computer programs) fast |
topic_facet | C# (Computer program language) Simultaneous multithreading processors. Threads (Computer programs) Parallel programming (Computer science) C# (Langage de programmation) Multifil simultané. Threads (Logiciels) Programmation parallèle (Informatique) COMPUTERS Programming Languages C++ Simultaneous multithreading processors Programming Languages; Programming. |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1225895 |
work_keys_str_mv | AT agafonoveugene multithreadingwithccookbook |