Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 通道是否会导致clojure中的内存泄漏?_Multithreading_Concurrency_Clojure_Channel - Fatal编程技术网

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只会保留在我所在的频道这是对它们驻留的通道的一些引用。如果由于没有人计划再次写入而对该通道进行垃圾收集,则驻留的操作也会进行垃圾收集。