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