ToB企服应用市场:ToB评测及商务社交产业平台

标题: JavaSE基础知识分享(十二) [打印本页]

作者: 农妇山泉一亩田    时间: 2024-8-21 13:31
标题: JavaSE基础知识分享(十二)
写在前面

今天继续讲Java中的进程和线程的知识!
进程和线程概述

进程是正在运行的步伐,是体系进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和体系资源。
线程是进程中的单个次序控制流,是一条执行路径。一个进程如果只有一条执行路径,则称为单线程步伐;如果有多条执行路径,则称为多线程步伐。
Java步伐运行原理

Java命令会启动Java虚拟机,即JVM,等同于启动了一个应用步伐进程。该进程会自动启动一个“主线程”,然后主线程去调用某个类的main方法。因此,main方法运行在主线程中。在此之前的所有步伐都是单线程的。
JVM虚拟机的启动是单线程的还是多线程的?

答:JVM的启动是多线程的,包括主线程和垃圾回收线程等。
多线程实现

Thread类的基本方法

Thread类中的成员方法

Runnable接口

实现Runnable接口的利益:
Callable接口

注意

调度模型

Java线程有两种调度模型:
注意

演示怎样设置和获取线程优先级
  1. public final int getPriority();
  2. public final void setPriority(int newPriority);
复制代码
设置线程优先级通过setPriority(int i)方法,在启动之前设置,优先级范围为1到10。
对象线程控制方法

线程的生命周期

线程的生命周期包括以下几个状态:

解决线程安全问题的基本思想

问题判断

基本思想

让步伐没有安全问题的情况。核心思想是确保同一时间只有一个线程能操纵共享数据。
实现方式

死锁问题

线程的等候唤醒机制(生产者消耗者模型)

线程的状态转换图


线程组和线程池

线程组

线程池

常用线程池

匿名内部类方式使用多线程

[code]pool.submit(new Runnable() {    @Override    public void run() {        for (int i = 1; i




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4