Java 多线程编程基础(详细)

您所在的位置:网站首页 java多线程的实现原理有哪些内容呢 Java 多线程编程基础(详细)

Java 多线程编程基础(详细)

2024-07-14 02:58| 来源: 网络整理| 查看: 265

Java多线程编程基础 1. 进程与线程2. 多线程实现2.1 Thread类实现多线程2.2 Runnable接口实现多线程2.3 Callable接口实现多线程2.3 多线程运行状态 3. 多线程常用操作方法3.1 线程的命名和获取3.2 线程休眠3.3 线程中断3.4 线程强制执行3.5 线程让步3.6 线程优先级 4. 线程的同步和锁死4.1 线程同步4.2 线程死锁 5. 后台守护线程6. 线程池

1. 进程与线程

进程与线程的基本认识

进程(Process):进程是程序的一次动态执行过程,它经历了从代码加载、执行、到执行完毕的一个完整过程;同时也是并发执行的程序在执行过程中分配和管理资源的基本单位,竞争计算机系统资源的基本单位。

线程(Thread):线程可以理解为进程中的执行的一段程序片段,是进程的一个执行单元,是进程内可调度实体,是比进程更小的独立运行的基本单位,线程也被称为轻量级进程。

为什么会有线程

每个进程都有自己的地址空间,即进程空间,在网络或多用户换机下,一个服务器通常需要接收大量不确定数量用户的并发请求,为每一个请求都创建一个进程显然行不通,即使多进程可以提高硬件资源的利用率,但是进程的启动和销毁需要消耗大量的系统性能,从而导致程序的执行性能下降。所以为了进一步提升并发操作的处理能力,在进程的基础上又划分了多线程概念。

以B站看视频为例:

打开B站看视频可以理解为实现了一个“进程”,而在看的时候,会同时听到声音,看到图片,还有可以发弹幕等……这些都是多线程实现。

简而言之:一个程序至少一个进程,一个进程至少一个线程。

2. 多线程实现

在java中,如果要实现多线程,就必须依靠线程主体类,而java.lang.Thread是java中负责多线程操作类,只需继承Thread类,就能成为线程主体类,为满足一些特殊要求,也可以通过实现Runnable接口或者Callable接口来完成定义。

具体方式如下:

1.继承Thread类,重写run方法(无返回值)

2.实现Runnable接口,重写run方法(无返回值)

3.实现Callable接口,重写call方法(有返回值且可以抛出异常)

2.1 Thread类实现多线程

通过继承Thread类,并重写父类的run()方法实现 public void run()

定义线程类:

class MyThread extends Thread{ private String name; public MyThread(String name) { this.name = name; } @Override public void run() { for(int i = 0 ; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3