Categories
Ebooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Computer in the office
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Multimedia trainings
- Real estate
- Persuasion and NLP
- Taxes
- Social policy
- Guides
- Presentations
- Leadership
- Public Relation
- Reports, analyses
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
E-press
- Architektura i wnętrza
- Biznes i Ekonomia
- Home and garden
- E-business
- Finances
- Personal finance
- Business
- Photography
- Computer science
- HR & Payroll
- Computers, Excel
- Accounts
- Culture and literature
- Scientific and academic
- Environmental protection
- Opinion-forming
- Education
- Taxes
- Travelling
- Psychology
- Religion
- Agriculture
- Book and press market
- Transport and Spedition
- Healthand beauty
-
History
-
Computer science
- Office applications
- Data bases
- Bioinformatics
- IT business
- CAD/CAM
- Digital Lifestyle
- DTP
- Electronics
- Digital photography
- Computer graphics
- Games
- Hacking
- Hardware
- IT w ekonomii
- Scientific software package
- School textbooks
- Computer basics
- Programming
- Mobile programming
- Internet servers
- Computer networks
- Start-up
- Operational systems
- Artificial intelligence
- Technology for children
- Webmastering
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Narrative poetry
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
School textbooks
-
Popular science and academic
- Archeology
- Bibliotekoznawstwo
- Cinema studies
- Philology
- Polish philology
- Philosophy
- Finanse i bankowość
- Geography
- Economy
- Trade. World economy
- History and archeology
- History of art and architecture
- Cultural studies
- Linguistics
- Literary studies
- Logistics
- Maths
- Medicine
- Humanities
- Pedagogy
- Educational aids
- Popular science
- Other
- Psychology
- Sociology
- Theatre studies
- Theology
- Economic theories and teachings
- Transport i spedycja
- Physical education
- Zarządzanie i marketing
-
Guides
-
Game guides
-
Professional and specialist guides
-
Law
- Health and Safety
- History
- Road Code. Driving license
- Law studies
- Healthcare
- General. Compendium of knowledge
- Academic textbooks
- Other
- Construction and local law
- Civil law
- Financial law
- Economic law
- Economic and trade law
- Criminal law
- Criminal law. Criminal offenses. Criminology
- International law
- International law
- Health care law
- Educational law
- Tax law
- Labor and social security law
- Public, constitutional and administrative law
- Family and Guardianship Code
- agricultural law
- Social law, labour law
- European Union law
- Industry
- Agricultural and environmental
- Dictionaries and encyclopedia
- Public procurement
- Management
-
Tourist guides and travel
- Africa
- Albums
- Southern America
- North and Central America
- Australia, New Zealand, Oceania
- Austria
- Asia
- Balkans
- Middle East
- Bulgary
- China
- Croatia
- The Czech Republic
- Denmark
- Egipt
- Estonia
- Europe
- France
- Mountains
- Greece
- Spain
- Holand
- Iceland
- Lithuania
- Latvia
- Mapy, Plany miast, Atlasy
- Mini travel guides
- Germany
- Norway
- Active travelling
- Poland
- Portugal
- Other
- Russia
- Romania
- Slovakia
- Slovenia
- Switzerland
- Sweden
- World
- Turkey
- Ukraine
- Hungary
- Great Britain
- Italy
-
Psychology
- Philosophy of life
- Kompetencje psychospołeczne
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Audiobooks
-
Business and economy
- Bitcoin
- Businesswoman
- Coaching
- Controlling
- E-business
- Economy
- Finances
- Stocks and investments
- Personal competence
- Communication and negotiation
- Small company
- Marketing
- Motivation
- Real estate
- Persuasion and NLP
- Taxes
- Guides
- Presentations
- Leadership
- Public Relation
- Secret
- Social Media
- Sales
- Start-up
- Your career
- Management
- Project management
- Human Resources
-
For children
-
For youth
-
Education
-
Encyclopedias, dictionaries
-
History
-
Computer science
-
Other
-
Foreign languages
-
Culture and art
-
School reading books
-
Literature
- Antology
- Ballade
- Biographies and autobiographies
- For adults
- Dramas
- Diaries, memoirs, letters
- Epic, epopee
- Essay
- Fantasy and science fiction
- Feuilletons
- Work of fiction
- Humour and satire
- Other
- Classical
- Crime fiction
- Non-fiction
- Fiction
- Mity i legendy
- Nobelists
- Novellas
- Moral
- Okultyzm i magia
- Short stories
- Memoirs
- Travelling
- Poetry
- Politics
- Popular science
- Novel
- Historical novel
- Prose
- Adventure
- Journalism, publicism
- Reportage novels
- Romans i literatura obyczajowa
- Sensational
- Thriller, Horror
- Interviews and memoirs
-
Natural sciences
-
Social sciences
-
Popular science and academic
-
Guides
-
Professional and specialist guides
-
Law
-
Tourist guides and travel
-
Psychology
- Philosophy of life
- Interpersonal communication
- Mindfulness
- General
- Persuasion and NLP
- Academic psychology
- Psychology of soul and mind
- Work psychology
- Relacje i związki
- Parenting and children psychology
- Problem solving
- Intellectual growth
- Secret
- Sexapeal
- Seduction
- Appearance and image
- Philosophy of life
-
Religion
-
Sport, fitness, diets
-
Technology and mechanics
Videocourses
-
Data bases
-
Big Data
-
Biznes, ekonomia i marketing
-
Cybersecurity
-
Data Science
-
DevOps
-
For children
-
Electronics
-
Graphics/Video/CAX
-
Games
-
Microsoft Office
-
Development tools
-
Programming
-
Personal growth
-
Computer networks
-
Operational systems
-
Software testing
-
Mobile devices
-
UX/UI
-
Web development
-
Management
Podcasts
- Ebooks
- Programming
- C#
- Asynchroniczność i wielowątkowość w języku C#
E-book details
Przejdź na wyższy poziom C#
Programowanie wielowątkowe pozwala wykonywać różne czynności z wykorzystaniem więcej niż jednego wątku. W efekcie zwiększa się wydajność operacji, które były ograniczone parametrami procesora. W dodatku dzięki zastosowaniu programowania wielowątkowego zadania można wykonywać w tle, bez pogorszenia responsywności aplikacji. Asynchroniczność umożliwia także zachowanie responsywności aplikacji użytkowych oraz zwiększenie skalowalności aplikacji serwerowych.
Brzmi obiecująco. Niestety, programowanie z wykorzystaniem wątków i asynchroniczności nie należy do najprostszych. Jest to dziedzina z natury skomplikowana i błędogenna, także w języku C#. Ten poradnik zbiera i zwięźle tłumaczy wszystkie zagadnienia związane z asynchronicznością i wielowątkowością w C#. Poszczególne tematy uzupełniono przykładami, pomagającymi lepiej zrozumieć problem, którego rozwiązanie można zastosować później w praktyce. Dla wygody w korzystaniu z książki każdy koncept opisano oddzielnie, jednak by go zrozumieć, trzeba przyswoić wiedzę z poprzednich rozdziałów.
- Dowiedz się, na czym polega wielowątkowość w C#
- Opanuj zasady programowania równoległego
- Naucz się programować asynchronicznie
- Poznaj podstawowe zasady synchronizacji
Podziękowania 7
Wstęp 9
- Krótka historia powstawania wielowątkowości 10
- Wyjaśnienie pojęć związanych z wątkami 11
Rozdział 1. Programowanie wielowątkowe 13
- 1.1. Klasa Thread 15
- 1.1.1. Wykonywanie pracy w tle 16
- 1.2. Klasa ThreadPool 17
- 1.2.1. Rodzaje kolejek 17
- 1.2.2. Metoda UnsafeQueueUserWorkItem 18
- 1.3. Klasa Task 19
- 1.3.1. Porównanie z klasą Thread 19
- 1.3.2. Porównanie z klasą ThreadPool 20
- 1.3.3. Metody Wait, WaitAll i WaitAny 20
- 1.3.4. Właściwość Result 20
- 1.3.5. Metoda ContinueWith 21
- 1.3.6. Opcja AttachedToParent 21
- 1.3.7. Metoda StartNew właściwości Factory 22
- 1.3.8. Metoda Run 22
- 1.3.9. Enumeracja TaskStatus 24
- 1.4. Klasa TaskFactory 26
- 1.5. Struktura CancellationToken 27
- 1.5.1. Korzystanie ze struktury CancellationToken 27
- 1.6. Klasa CancellationTokenSource 29
- 1.7. Klasa Timer 30
- 1.8. Klasa TaskCompletionSource 32
- 1.9. Klasa SynchronizationContext 33
- 1.10. Klasa TaskScheduler 35
- ĆWICZENIA DO ROZDZIAŁU 1. 37
Rozdział 2. Programowanie równoległe 39
- 2.1. Klasa Parallel 41
- 2.1.1. Metoda For 41
- 2.1.2. Metoda ForEach 41
- 2.1.3. Metoda Invoke 42
- 2.2. Technologia PLINQ 43
- 2.3. Klasa Partitioner 45
- 2.3.1. Optymalizacja krótkich operacji 46
- 2.4. Porównanie z klasą Task 47
- ĆWICZENIA DO ROZDZIAŁU 2. 48
Rozdział 3. Programowanie asynchroniczne 49
- 3.1. Transformacja kodu asynchronicznego 51
- 3.2. Słowo kluczowe await 52
- 3.2.1. Porównanie z metodą ContinueWith 52
- 3.2.2. Użycie wraz z metodą Run 53
- 3.2.3. Współbieżność await 54
- 3.3. Słowo kluczowe async 55
- 3.3.1. Asynchroniczne wyrażenie lambda 55
- 3.3.2. Metoda z sygnaturą async void 56
- 3.3.3. Opis wykonywania się metody asynchronicznej 56
- 3.3.4. Sposoby radzenia sobie z wielokrotnymi wywołaniami 57
- 3.3.5. Sztuczna synchroniczność i asynchroniczność 58
- 3.4. Asynchroniczność wewnątrz LINQ 59
- 3.5. Zadania zakończone 60
- 3.6. Metoda Yield 61
- 3.6.1. Porównanie z właściwością CompletedTask 61
- 3.7. Interfejsy asynchroniczne 62
- 3.7.1. Interfejs IAsyncEnumerable
62 - 3.7.2. Interfejs IAsyncDisposable 63
- 3.7.1. Interfejs IAsyncEnumerable
- 3.8. Własna implementacja 64
- 3.9. Rady dotyczące programowania asynchronicznego 65
- 3.9.1. Używanie metody ConfigureAwait 65
- 3.9.2. Wykonywanie metody asynchronicznej synchronicznie 65
- 3.9.3. Użycie await bezpośrednio przed zwróceniem metody 66
- 3.9.4. Asynchroniczność w konstruktorze 66
- 3.9.5. Przeciążenie przyjmujące delegat Func
67 - 3.9.6. Bardzo długo wykonująca się praca 67
- 3.10. Struktura ValueTask 68
- 3.10.1. Interfejs IValueTaskSource 68
- 3.10.2. Konsumowanie ValueTask 69
- 3.10.3. Porównanie z klasą Task 70
- ĆWICZENIA DO ROZDZIAŁU 3. 71
Rozdział 4. Synchronizacja 73
- 4.1. Podstawowe elementy synchronizacji 75
- 4.1.1. Klasa Volatile 75
- 4.1.2. Klasa Interlocked 76
- 4.2. Blokady trybu jądra 80
- 4.3. Blokady hybrydowe 81
- 4.3.1. Przekazywanie instancji do metod klasy Monitor 81
- 4.3.2. Słowo kluczowe lock 81
- 4.4. Blokady asynchroniczne 83
- 4.5. Leniwa inicjalizacja 84
- 4.5.1. Blokada z podwójnym sprawdzeniem 84
- 4.5.2. Klasa Lazy
85 - 4.5.3. Klasa ThreadLocal
85
- 4.6. Kolekcje współbieżne 87
- 4.6.1. Klasa BlockingCollection
87
- 4.6.1. Klasa BlockingCollection
- ĆWICZENIA DO ROZDZIAŁU 4. 90
ROZWIĄZANIA 91
- ROZWIĄZANIA DO ROZDZIAŁU 1. 91
- ROZWIĄZANIA DO ROZDZIAŁU 2. 94
- ROZWIĄZANIA DO ROZDZIAŁU 3. 95
- ROZWIĄZANIA DO ROZDZIAŁU 4. 97
Źródła 101
- Title: Asynchroniczność i wielowątkowość w języku C#
- Author: Grzegorz Lang
- ISBN: 978-83-283-8024-0, 9788328380240
- Date of issue: 2021-03-09
- Format: Ebook
- Item ID: asynwi
- Publisher: Helion