Seven Concurrency Models in Seven Weeks by Paul Butcher

Seven Concurrency Models in Seven Weeks by Paul Butcher

Author:Paul Butcher
Language: eng
Format: epub, pdf
Tags: Pragmatic Bookshelf
ISBN: 978-1-937785-65-9
Publisher: The Pragmatic Bookshelf, LLC


​ send(:cache, {:get, self(), ref, url})

​ ​receive​ ​do​

​ {:ok, ^ref, page} -> page

​ ​end​

​ ​end​

​ ​def​ size ​do​

​ ref = make_ref()

​ send(:cache, {:size, self(), ref})

​ ​receive​ ​do​

​ {:ok, ^ref, s} -> s

​ ​end​

​ ​end​

​ ​def​ terminate ​do​

​ send(:cache, {:terminate})

​ ​end​

The put and terminate functions simply take their arguments, package them up as a tuple, and send them as a message. The get and size methods are slightly more complicated, since they both have to wait for a reply. In this case, they are sending a unique reference using the pattern we saw yesterday.

Here’s our actor in use:

​ iex(1)>​ Cache.start_link​



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.