multithreading - Problems with Immutable Data in Functional Programming -


i new functional programming. understood functional programming writing code using pure functions , without changing value of data.

instead of changing value of variables create new variables in functional programming when need update variable.

suppose have variable x represents total number of http requests made program. if have 2 threads want threads increment x whenever http request made thread. if both threads make different copy of variable x how can synchronize value of x. example: if thread 1 make 10 http requests , thread 2 made 11 http requests print 10 , 11 respectively how print 21.

i address haskell part. mvar 1 of communication mechanism threads. 1 of example taken simon marlow's book (the program self-explanatory):

main =   m <- newemptymvar   forkio $ putmvar m 'x'; putmvar m 'y'   r <- takemvar m   print r   r <- takemvar m   print r 

the output above program be:

'x' 'y' 

you can see in above example how mvar value in variable m shared between threads. can learn more these techniques in this book.


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

css - Make div keyboard-scrollable in jQuery Mobile? -

ruby on rails - Seeing duplicate requests handled with Unicorn -