NET多线程之基础理论

     线程是处理器处理单位的最小单元,它需要运行于应用程序域中。也就是一个应用程序域可以执行多个线程,但是一个线程不能横跨多个应用程序域。多线程用户解决单个处理器处理多个任务的功能,例如,用户既可以操作Word,同时,也可以上网看狗血剧。线程的数据结构包括线程异常、线程状态和线程上下文。线程上下文保存了线程离开处理器时的状态,以便再次唤醒时能够继续操作。
      线程应用场景包括:1)处理操作耗时的任务,但是希望立马得到结果 2)多任务处理时,需要有优先级操作顺序 3)用户操作界面时,需要快速的反应等。多线程能够实现类似同时执行的效果,但并不是线程越多越好,因为:每个线程的启动需要消耗内存资源;多线程之间的调用需要消耗协调资源;多线程之间访问公共资源会出现死锁和竞争问题。线程的死锁是指两个线程相互等待对方造成长期等待现象。线程竞争是指多线程同时访问一个资源,但是每个线程对于资源的操作需要两个以上步骤,导致不同线程之间资源的状态不一致现象。经常出现线程竞争的资源:1)公共的系统资源 2)全局静态资源 3)共享资源,处理以上问题时一定要协调资源的一致性。
      线程的状态是指线程生命周期关键点,包括启动、运行、挂起、睡眠、重新启动、结束和未启动,不同的状态处理不同的场景。不同的状态之间可以通过行为相互转换。如果托管线程内部发生异常后,线程将终止不再继续处理。如果其有宿主进程,进程将不受影响,继续执行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值