为了账号安全,请及时绑定邮箱和手机立即绑定

请问C#关于线程是否有挂起或销毁前的回调呢?

请问C#关于线程是否有挂起或销毁前的回调呢?

月关宝盒 2018-12-07 10:55:16
我的需求是这样的,我使用了微软的entityframework,我想封装一下context,使context能在同一个线程上下文的多个method共享(注意:不是web,没httpRequest).C#默认调用线程池中的线程,我能否知道该线程返回线程池前,或者自己开辟的线程销毁前,进行一次回调,这时我便可以释放context资源,Task虽然有continueComplete,但限制太大,不通用.
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

C#默认调用线程池中的线程

没懂,什么时候默认使用线程池了?

自己开辟的线程销毁前,进行一次回调

 Thread t = new Thread(callback =>
 {
     Thread.Sleep(5000); //do something
     ((Action)callback)();
 });

 Action output = () => Console.WriteLine("call back");
 t.Start(output);

以上例子只是简单用Thread传参来实现callback,你若不希望每次都手动指定callback,可以自己封装Thread,在执行主体的finally里去释放资源。

 

查看完整回答
反对 回复 2019-01-21
  • 1 回答
  • 0 关注
  • 466 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信