1.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace Test { class Program { static void Main(string[] args) { person p1 = new person(); p1.Name = "ZhangTao"; WeakReference wkr = new WeakReference(p1); p1 = null; GC.Collect(); // 强制进行垃圾回收 //object wP1 = wkr.Target; //if (wP1 != null) //{ // Console.WriteLine(((person)wP1).Name); //} //else //{ // Console.WriteLine("对象已被回收"); //} ThreadPool.QueueUserWorkItem(h => { object wP1 = wkr.Target; if (wP1 != null) { Console.WriteLine(((person)wP1).Name); } else { Console.WriteLine("对象已被回收"); } }); Console.ReadKey(); } } class person { public string Name { get; set; } } }