美文网首页
线程,多线程,线程池

线程,多线程,线程池

作者: 残非 | 来源:发表于2020-12-18 19:49 被阅读0次

线程

线程是进程中的一个实体,进程的一个执行路径
是CPU调度和分派执行的基本单位
线程本身是不会独立存在的
系统不会为线程分配内存,每个线程有自己的栈资源,用于存储该线程的局部变量,其它线程是无权访问的。
每一个线程都是进程的一个执行路径,所以线程之间可以共享所属进程的资源

多线程

解决多个任务同时执行的需求,合理利用CPU的资源。
多线程的运行是根据CPU的切换来完成的,如何切换由CPU来完成,因此多线程运行具有不确定性。

线程池

在未引入线程池之前,我们使用线程时就去创建一个线程,这样实现起来非常方便,但是就会有一个问题:
如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?
在Java中可以通过线程池来达到这样的效果。
基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。

1.创建线程的两种方式
①继承自Thread类,重写run()方法
classDemoThreadextendsThread{ @Overridepublicvoidrun(){ super.run(); }}DemoThread t = newDemoThread();t.start();
继承Thread类,覆盖run()方法。
创建线程对象并用start()方法启动线程。

多线程

多线程的概念很好理解就是多条线程同时存在,但要用好多线程确不容易,涉及到多线程间通信,多线程共用一个资源等诸多问题。

使用多线程的优缺点:

优点:

1)适当的提高程序的执行效率(多个线程同时执行)。
2)适当的提高了资源利用率(CPU、内存等)。

缺点:

1)占用一定的内存空间。
2)线程越多CPU的调度开销越大。
3)程序的复杂度会上升。

相关文章

  • Thread

    队列 线程锁 多线程,线程池 队列 多线程爬虫示例 多线程 自定义线程 线程池

  • Java:线程池Executors.newFixedThread

    摘要:Java,多线程,线程池 多线程编程和线程池概述 (1)多线程程序: 计算机可以实现多任务 ( multit...

  • 10.3多线程详解

    Java高级-多线程 多线程创建 多线程通讯 线程池 1.多线程创建 thread/runnable图:继承Thr...

  • Springboot | 线程池的学习,多线程池配置示例

    一、线程和进程,线程的生命周期二、单线程和多线程三、线程池的概念四、线程池的使用五、多线程池配置示例 一、线程和进...

  • 反射、注解与依赖注入总结

    上一篇【线程、多线程与线程池总结】中主要记录线程、多线程相关概念,侧重于线程的Future使用与线程池的操作;同样...

  • 源码分析之ThreadPoolExecutor

    线程池在多线程编程的中可谓是个利器,使用线程池会大大提高多线程的效率。原因是使用线程池相对于new Thread有...

  • Java面试题——多线程

    Java面试题——多线程 1,什么是线程池? 线程池是多线程的一种处理方式,处理过程中将任务提交给线程池,任务执行...

  • 月薪2w以上的java程序员面试都会问的问题

    多线程相关问题 实现多线程有哪些方式?有什么异同? 线程的生命周期 线程池常用的有哪些? 线程池的工作原理 如何启...

  • 工作三年,月薪20K+的Java程序都会被问到的面试问题

    多线程相关问题 实现多线程有哪些方式?有什么异同? 线程的生命周期 线程池常用的有哪些? 线程池的工作原理 如何启...

  • Android线程池得要这么用

    背景 之前写了两篇关于线程和多线程的文章,竟然写到了多线程,那肯定少不了线程池啊,如果想了解线程和线程池方面的知识...

网友评论

      本文标题:线程,多线程,线程池

      本文链接:https://www.haomeiwen.com/subject/aigngktx.html