美文网首页
JAVA高并发(一)

JAVA高并发(一)

作者: 花开此时海 | 来源:发表于2020-12-23 22:58 被阅读0次

            在计算机世界中,一个程序运行的实例被称为进程,进程是程序向操作系统申请资源的基本单位.而线程则是进程中可独立执行的最小单位。一个进程可以包含多个线程。 

            JAVA中Thread就是Java平台对于线程的实现,创建一个线程,一般有两个方法,通过继承Thread或者是实现Runnable接口来实现。从面相对象编程的角度来看的话,接口的实现耦合度更低,也更加灵活。

            一个线程的属性包括 ID(线程ID)、Name(线程名称)、Daemon(是否守护线程)、Priority(线程优先级),守护线程不会阻止虚拟机的停止,优先级并不保证线程的执行顺序和优先级一致.而Thread的常用未废弃方法包括 静态方法 currentThread() 获取当前线程 run(任务处理逻辑) start(启动入口) join(等待某线程的运行) yield(放弃处理器占用) sleep(休眠).

            线程的生命周期从创建到结束的过程会经历若干个状态.如下图:

            

            包括NEW、RUNNABLE(READY、RUNNING)、WAITING、TIMED-WAITING、BLOCKED、TERMINATED这些状态.其中Runnable中又包含两个状态,ready状态表示可以被线程调度器进行调度,而Running状态则表示线程正在运行中.

            多线程的开发使得系统吞吐率提高,响应更快、更小化得使用系统资源的同时也带来了不利的方面,线程安全便是其中最为棘手的问题.

    相关文章

      网友评论

          本文标题:JAVA高并发(一)

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