Cargando…

Learning concurrency in Kotlin : build highly efficient and robust applications /

The requirements of modern day applications are scalability, speed and making the most use of hardware. Kotlin provides immense support for concurrency. This book addresses the challenges for the design and implementation of concurrent code and shows you how to write lock-free concurrent code taking...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Castiblanco Torres, Miguel Angel (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham, UK : Packt Publishing, 2018.
Temas:
Acceso en línea:Texto completo
Texto completo

MARC

LEADER 00000cam a2200000 i 4500
001 EBOOKCENTRAL_on1050169896
003 OCoLC
005 20240329122006.0
006 m o d
007 cr unu||||||||
008 180829s2018 enka o 000 0 eng d
040 |a UMI  |b eng  |e rda  |e pn  |c UMI  |d OCLCF  |d STF  |d TEFOD  |d CEF  |d G3B  |d TEFOD  |d EBLCP  |d MERUC  |d UAB  |d OCLCQ  |d K6U  |d N$T  |d OCLCO  |d NLW  |d OCLCO  |d NZAUC  |d OCLCQ  |d OCLCO  |d OCLCL  |d OCLCQ 
020 |a 9781788626729  |q (electronic bk.) 
020 |a 1788626729  |q (electronic bk.) 
020 |z 9781788627160 
029 1 |a AU@  |b 000066232791 
029 1 |a CHNEW  |b 001039838 
029 1 |a CHVBK  |b 559035020 
035 |a (OCoLC)1050169896 
037 |a CL0500000988  |b Safari Books Online 
037 |a 624C5C91-0A03-4D48-BBE4-8C47C29CAACE  |b OverDrive, Inc.  |n http://www.overdrive.com 
050 4 |a QA76.76.A65 
082 0 4 |a 005.365  |2 23 
049 |a UAMI 
100 1 |a Castiblanco Torres, Miguel Angel,  |e author. 
245 1 0 |a Learning concurrency in Kotlin :  |b build highly efficient and robust applications /  |c Miguel Angel Castiblanco Torres. 
264 1 |a Birmingham, UK :  |b Packt Publishing,  |c 2018. 
300 |a 1 online resource :  |b illustrations 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
588 0 |a Online resource; title from title page (Safari, viewed August 27, 2018). 
505 0 |a Cover; Title Page; Copyright and Credits; Packt Upsell; Contributors; Table of Contents; Preface; Chapter 1: Hello, Concurrent World!; Processes, threads, and coroutines; Processes; Threads; Coroutines; Putting things together; Introduction to concurrency; Concurrency is not parallelism; CPU-bound and I/O-bound; CPU-bound; I/O-bound; Concurrency versus parallelism in CPU-bound algorithms; Single-core execution; Parallel execution; Concurrency versus parallelism in I/O-bound algorithms; Why concurrency is often feared; Race conditions; Atomicity violation; Deadlocks; Livelocks 
505 8 |a Concurrency in KotlinNon-blocking; Being explicit; Readable; Leveraged; Flexible; Concepts and terminology; Suspending computations; Suspending functions; Suspending lambdas; Coroutine dispatcher; Coroutine builders; Summary; Chapter 2: Coroutines in Action; Downloading and installing Android Studio; Creating a Kotlin project; Adding support for coroutines; Android's UI thread; CalledFromWrongThreadException; NetworkOnMainThreadException; Requesting in the background, updating in the UI thread; Creating a thread; CoroutineDispatcher; Attaching a coroutine to a dispatcher 
505 8 |a Starting a coroutine with asyncStarting a coroutine with launch; Using a specific dispatcher when starting the coroutine; Adding networking permissions; Creating a coroutine to call a service; Adding UI elements; What happens when the UI is blocked; Displaying the amount of news that were processed; Using a UI dispatcher; Platform-specific UI libraries; Adding the dependency; Using Android's UI coroutine dispatcher; Creating an asynchronous function to hold the request ... or not; A synchronous function wrapped in an asynchronous caller; An asynchronous function with a predefined dispatcher 
505 8 |a An asynchronous function with a flexible dispatcherHow to decide which option is better; Summary; Chapter 3: Life Cycle and Error Handling; Job and Deferred; Job; Exception handling; Life cycle; New; Active; Canceling; Cancelled; Completed; Determining the current state of a Job; Deferred; Exception handling; States move in one direction only; A note on final states; RSS- Reading from multiple feeds concurrently; Supporting a list of feeds; Creating a thread pool; Fetching the data concurrently; Merging the responses; Testing the concurrent requests; Non-happy path- Unexpected crash 
505 8 |a Having deferred store the exceptionDon't ignore the exception!; Summary; Chapter 4: Suspending Functions and the Coroutine Context; Improving the UI of the RSS Reader; Giving each feed a name; Fetching more information about the articles from the feed; Adding a scrollable list for the articles; Layout for the individual articles; Adapter to map the information; Adding a ViewHolder; Mapping the data; onCreateViewHolder; onBindViewHolder; getItemCount; Allowing the incremental addition of articles to the adapter; Connecting the adapter to the activity; Testing the new UI; Sanitizing the data 
520 |a The requirements of modern day applications are scalability, speed and making the most use of hardware. Kotlin provides immense support for concurrency. This book addresses the challenges for the design and implementation of concurrent code and shows you how to write lock-free concurrent code taking advantage of Kotlin's concurrency support. 
590 |a ProQuest Ebook Central  |b Ebook Central Academic Complete 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
590 |a eBooks on EBSCOhost  |b EBSCO eBook Subscription Academic Collection - Worldwide 
650 0 |a Application software  |x Development. 
650 0 |a Electronic data processing. 
650 0 |a Functional programming (Computer science) 
650 0 |a Mobile apps. 
650 6 |a Logiciels d'application  |x Développement. 
650 6 |a Programmation fonctionnelle. 
650 6 |a Applications mobiles. 
650 7 |a Object-oriented programming (OOP).  |2 bicssc 
650 7 |a Parallel processing.  |2 bicssc 
650 7 |a Programming & scripting languages: general.  |2 bicssc 
650 7 |a Computers  |x Programming  |x Object Oriented.  |2 bisacsh 
650 7 |a Computers  |x Programming  |x Parallel.  |2 bisacsh 
650 7 |a Computers  |x Programming Languages  |x Java.  |2 bisacsh 
650 7 |a Application software  |x Development  |2 fast 
650 7 |a Electronic data processing  |2 fast 
650 7 |a Functional programming (Computer science)  |2 fast 
650 7 |a Mobile apps  |2 fast 
758 |i has work:  |a Learning Concurrency in Kotlin (Text)  |1 https://id.oclc.org/worldcat/entity/E39PD3Qp6Cf4Qv9pMbgG7rQxym  |4 https://id.oclc.org/worldcat/ontology/hasWork 
856 4 0 |u https://ebookcentral.uam.elogim.com/lib/uam-ebooks/detail.action?docID=5520892  |z Texto completo 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781788627160/?ar  |z Texto completo 
938 |a ProQuest Ebook Central  |b EBLB  |n EBL5520892 
938 |a EBSCOhost  |b EBSC  |n 1860847 
994 |a 92  |b IZTAP