Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Julia High Performance

You're reading from   Julia High Performance Optimizations, distributed computing, multithreading, and GPU programming with Julia 1.0 and beyond

Arrow left icon
Product type Paperback
Published in Jun 2019
Publisher Packt
ISBN-13 9781788298117
Length 218 pages
Edition 2nd Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Avik Sengupta Avik Sengupta
Author Profile Icon Avik Sengupta
Avik Sengupta
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Julia is Fast FREE CHAPTER 2. Analyzing Performance 3. Types, Type Inference, and Stability 4. Making Fast Function Calls 5. Fast Numbers 6. Using Arrays 7. Accelerating Code with the GPU 8. Concurrent Programming with Tasks 9. Threads 10. Distributed Computing with Julia 11. Licences
12. Other Books You May Enjoy

Communicating between tasks

When multiple tasks are running simultaneously, it is useful sometimes to be able to communicate data and state between them. A Channel is a Julia object that can be used to asynchronously send data from one task to another. A Channel is created by specifying the type of object it can contain, and a maximum number of elements it can hold. If no type is specified, Any is used. A maximum value of 0 implies that the channel can hold an unlimited number of values.

The following code snippet shows how to create a channel:

julia> c = Channel{Int}(10)
Channel{Int64}(sz_max:10,sz_curr:0)

A channel should be viewed as a pipe, with data entering at one end, and being consumed at the other. Values are sent to the channel using the put! function, and taken using the take! function. The put! function will block if the channel is at capacity, while the take...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime