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

线程,多线程,线程池

作者: 残非 | 来源:发表于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)程序的复杂度会上升。

    相关文章

      网友评论

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

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