Multithreading 通道是否会导致clojure中的内存泄漏?
如果数据不再放入通道中的Multithreading 通道是否会导致clojure中的内存泄漏?,multithreading,concurrency,clojure,channel,Multithreading,Concurrency,Clojure,Channel,如果数据不再放入通道中的中,下面的go块是否会导致Clojure中的内存泄漏?我需要找到关闭频道的方法吗 (defn打印机 [中] (go(为真时)(println(如果这个go块没有办法结束,是的,它将继续使用系统中极少量的内存来跟踪它。但是,由于它是go它不会消耗线程。如果这个go块没有办法结束,是的,它将继续使用一些极少量的amo系统内存的unt以跟踪它。但是,由于它是一个go它不会消耗线程。这个go宏作者的评论可能包含答案:。另请参见。这个go宏作者的评论可能包含答案:。另请参见。我认为
中,下面的go
块是否会导致Clojure中的内存泄漏?我需要找到关闭频道的方法吗
(defn打印机
[中]
(go(为真时)(println(如果这个go
块没有办法结束,是的,它将继续使用系统中极少量的内存来跟踪它。但是,由于它是go
它不会消耗线程。如果这个go
块没有办法结束,是的,它将继续使用一些极少量的amo系统内存的unt以跟踪它。但是,由于它是一个go
它不会消耗线程。这个go
宏作者的评论可能包含答案:。另请参见。这个go
宏作者的评论可能包含答案:。另请参见。我认为这不是真的。作为glts的评论备注,只要存在对其所驻留的频道的引用,就会保留已驻留的Goroutine。如果由于没有人计划再次写入该频道而对该频道进行垃圾收集,则已驻留的操作也会进行垃圾收集。我不认为这是真的。正如glts备注所述,已驻留的Goroutine只会保留在我所在的频道这是对它们驻留的通道的一些引用。如果由于没有人计划再次写入而对该通道进行垃圾收集,则驻留的操作也会进行垃圾收集。