public static SomeMethod()
{
   lock(this)
{
    stream.SetLength(0);
    ...
    serializer.Serialize(stream, src);
    ...
    stream.Flush();
}
}
这样可以吗?

解决方案 »

  1.   

    回复 IThurricane :该成员函数为static, lock(this) 无效。
      

  2.   

    补充:
      
      用VS2005调试该Application时会出现该BUG.
      但直接运行该程序集时没出现(至少几十次都没有发现)
      

  3.   

    Sorry,
    shoule be AutoResetEvent
      

  4.   

    public   static   SomeMethod()
    {
    try
    {
            stream.SetLength(0);
            ...
            serializer.Serialize(stream,   src);
            ...
    }
    catch( Exception ex )
    {
    }
    finally
    {
        stream.Flush();
    }
    }
    这个每次都写到文件里的。可以不?
      

  5.   

    我的意思是你要控制线程的同步,
    在关闭Console窗口前
    先SomeMethodThread.Join一下试试呢
      

  6.   

    还有就是你在你的程序里实现这个方发protected void Finalize();加上你的处理,写到文件里去