public static void TimePublisher(int port)
{
var ctx = ZmqContext.Create();
var socket = ctx.CreateSocket(SocketType.REP);
socket.Bind("tcp://*:" + port.ToString(CultureInfo.InvariantCulture));
while (true)
{
try
{
var wait = socket.Receive(Encoding.UTF8);
var timeString = GetTimeString();
socket.Send(timeString, Encoding.UTF8);
}
catch (ZmqException ex)
{
Logger.ErrorException("blabla", ex);
}
}
}
在执行下面的 while 循环期间,对象 ctx 会被 GC 吗?我认为堆栈中存储了一个引用对象的引用,只有当方法退出时,堆栈才会被清除,因此引用被清除,只有对象应该被 GCed。