mirror of
				https://github.com/janet-lang/janet
				synced 2025-10-31 07:33:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
		
			535 B
		
	
	
	
		
			Janet
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			535 B
		
	
	
	
		
			Janet
		
	
	
	
	
	
| (def chan (ev/thread-chan 10))
 | |
| 
 | |
| (ev/spawn
 | |
|   (ev/sleep 0)
 | |
|   (print "started fiber!")
 | |
|   (ev/give chan (math/random))
 | |
|   (ev/give chan (math/random))
 | |
|   (ev/give chan (math/random))
 | |
|   (ev/sleep 0.5)
 | |
|   (for i 0 10
 | |
|     (print "giving to channel...")
 | |
|     (ev/give chan (math/random))
 | |
|     (ev/sleep 1))
 | |
|   (print "finished fiber!")
 | |
|   (:close chan))
 | |
| 
 | |
| (ev/do-thread
 | |
|   (print "started thread!")
 | |
|   (ev/sleep 1)
 | |
|   (while (def x (do (print "taking from channel...") (ev/take chan)))
 | |
|     (print "got " x " from thread!"))
 | |
|   (print "finished thread!"))
 | 
