欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基础知识记录

程序员文章站 2022-04-14 16:03:17
1、ThreadPool与Task? 线程池的优点:① 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 ② 提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 ③ 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性, ......

1、threadpool与task?

  线程池的优点:① 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。

         ② 提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。

         ③ 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配。

  但是线程池不支持线程的取消、完成、失败通知等交互性操作,不支持线程执行的先后顺序。为了弥补实现上述功能所作的额外工作,微软在线程池的基础上进行了优化,提出了task。

2、task的启动方式?

  ① var task = task.run(()=>{});

  ② var task = new task(); task.start();

  ③ cancellationtokensource cts = new cancellationtokensource();

    taskfactory taskfactory = new taskfactory();

    task[] tasks = new task[]{ taskfactory.startnew(()=>add(cts.token)) };

     taskfactory.continuewhenall(tasks, tasksended, cancellationtoken.none);

3、什么是委托?委托的写法有哪些?

  委托:将方法当作另一个方法的参数传递。

  委托的写法:① delegate

        ② action<t>与func<t>

4、有哪些ioc框架?

  autofac/unity/castle windsor/spring.net/structuremap/ninject/微软自带的di

5、有哪些基于redis的扩展?

  jedis/lettuce/redisson

6、队列

  rabbitmq、notify(阿里)、qmq(去哪儿)

7、abp、ddd