skip to content
Learning concurrency in Kotlin : build highly efficient and robust applications Preview this item
ClosePreview this item
Checking...

Learning concurrency in Kotlin : build highly efficient and robust applications

Author: Miguel Angel Castiblanco Torres
Publisher: Birmingham, UK : Packt Publishing, 2018.
Edition/Format:   eBook : Document : EnglishView all editions and formats
Summary:
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.
Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

Find a copy online

Links to this item

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Genre/Form: Electronic books
Material Type: Document, Internet resource
Document Type: Internet Resource, Computer File
All Authors / Contributors: Miguel Angel Castiblanco Torres
ISBN: 9781788626729 1788626729
OCLC Number: 1050169896
Description: 1 online resource : illustrations
Contents: 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 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 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 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 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
Responsibility: Miguel Angel Castiblanco Torres.

Abstract:

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  Read more...

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/1050169896> # Learning concurrency in Kotlin : build highly efficient and robust applications
    a schema:CreativeWork, schema:Book, schema:MediaObject ;
    library:oclcnum "1050169896" ;
    library:placeOfPublication <http://id.loc.gov/vocabulary/countries/enk> ;
    rdfs:comment "Warning: This malformed URI has been treated as a string - 'https://img1.od-cdn.com/ImageType-100/6135-1/{624C5C91-0A03-4D48-BBE4-8C47C29CAACE}Img100.jpg'" ;
    schema:about <http://experiment.worldcat.org/entity/work/data/5404913928#Topic/application_software_development> ; # Application software--Development
    schema:about <http://experiment.worldcat.org/entity/work/data/5404913928#Topic/electronic_data_processing> ; # Electronic data processing
    schema:about <http://dewey.info/class/005.365/e23/> ;
    schema:about <http://experiment.worldcat.org/entity/work/data/5404913928#Topic/functional_programming_computer_science> ; # Functional programming (Computer science)
    schema:about <http://experiment.worldcat.org/entity/work/data/5404913928#Topic/mobile_apps> ; # Mobile apps
    schema:author <http://experiment.worldcat.org/entity/work/data/5404913928#Person/castiblanco_torres_miguel_angel> ; # Miguel Angel Castiblanco Torres
    schema:bookFormat schema:EBook ;
    schema:datePublished "2018" ;
    schema:description "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"@en ;
    schema:description "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."@en ;
    schema:exampleOfWork <http://worldcat.org/entity/work/id/5404913928> ;
    schema:genre "Electronic books"@en ;
    schema:inLanguage "en" ;
    schema:name "Learning concurrency in Kotlin : build highly efficient and robust applications"@en ;
    schema:productID "1050169896" ;
    schema:url <https://ebookcentral.proquest.com/lib/ucm/detail.action?docID=5520892> ;
    schema:url <http://proxy.library.carleton.ca/login?url=http://proquest.safaribooksonline.com/?uiCode=carleton&xmlId=9781788627160> ;
    schema:url <https://www.safaribooksonline.com/library/view/-/9781788627160/?ar> ;
    schema:url <https://samples.overdrive.com/?crid=624c5c91-0a03-4d48-bbe4-8c47c29caace&.epub-sample.overdrive.com> ;
    schema:url <http://public.ebookcentral.proquest.com/choice/publicfullrecord.aspx?p=5520892> ;
    schema:url <https://www.overdrive.com/search?q=624C5C91-0A03-4D48-BBE4-8C47C29CAACE> ;
    schema:url <http://proquest.safaribooksonline.com/?uiCode=stanford&xmlId=9781788627160> ;
    schema:url "https://img1.od-cdn.com/ImageType-100/6135-1/{624C5C91-0A03-4D48-BBE4-8C47C29CAACE}Img100.jpg" ;
    schema:url <https://login.gbcprx01.georgebrown.ca/login?url=http://proquest.safaribooksonline.com/?uiCode=geobrown&xmlId=9781788627160> ;
    schema:url <http://proquest.safaribooksonline.com/?fpi=9781788627160> ;
    schema:workExample <http://worldcat.org/isbn/9781788626729> ;
    wdrs:describedby <http://www.worldcat.org/title/-/oclc/1050169896> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/5404913928#Person/castiblanco_torres_miguel_angel> # Miguel Angel Castiblanco Torres
    a schema:Person ;
    schema:familyName "Castiblanco Torres" ;
    schema:givenName "Miguel Angel" ;
    schema:name "Miguel Angel Castiblanco Torres" ;
    .

<http://experiment.worldcat.org/entity/work/data/5404913928#Topic/application_software_development> # Application software--Development
    a schema:Intangible ;
    schema:name "Application software--Development"@en ;
    .

<http://experiment.worldcat.org/entity/work/data/5404913928#Topic/electronic_data_processing> # Electronic data processing
    a schema:Intangible ;
    schema:name "Electronic data processing"@en ;
    .

<http://experiment.worldcat.org/entity/work/data/5404913928#Topic/functional_programming_computer_science> # Functional programming (Computer science)
    a schema:Intangible ;
    schema:name "Functional programming (Computer science)"@en ;
    .

<http://worldcat.org/isbn/9781788626729>
    a schema:ProductModel ;
    schema:isbn "1788626729" ;
    schema:isbn "9781788626729" ;
    .

<http://www.worldcat.org/title/-/oclc/1050169896>
    a genont:InformationResource, genont:ContentTypeGenericResource ;
    schema:about <http://www.worldcat.org/oclc/1050169896> ; # Learning concurrency in Kotlin : build highly efficient and robust applications
    schema:dateModified "2019-10-26" ;
    void:inDataset <http://purl.oclc.org/dataset/WorldCat> ;
    .

<https://www.safaribooksonline.com/library/view/-/9781788627160/?ar>
    rdfs:comment "from Safari" ;
    rdfs:comment "(Unlimited Concurrent Users)" ;
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.