Speaking from my user experience with nim (~1 yr), you don't have to worry 
about the stability of async related things, they are quite robust.

The things that is not very mature is the GC. I am not talking about the arc 
one, but the current default one refc. I have a single threaded project around 
10k~20k line. When I run tests with defaut gc, 3 to 4 times out of 10, I will 
run into illegal storage access error. After I moved to boehm, I have never 
seen the same error again. There are chance that could be my fault, but I 
believe this is GC bug.

For inter-thread communication, I have made a library 
[https://github.com/jackhftang/threadproxy.nim](https://github.com/jackhftang/threadproxy.nim)
 to simplify ITC programming. You can take a look at it~ Again, in my practical 
experience, the little trick to be stable for ITC is to use JSON as data 
exchange =] When I was developing multi-threaded program, I found that the deep 
copy of channels do not handle well with null pointer. It seems it will run 
into problem when there are nil somewhere in data structure. And with JSON you 
would easily have nil and cyclic structures. 

Reply via email to