美文网首页
Java基础知识12-多线程4

Java基础知识12-多线程4

作者: 我相信你爱过gg | 来源:发表于2017-02-05 11:47 被阅读7次
配图

同步

当两个或多个想成需要访问共享资源时,他们需要以某种方式确保每次只有一个线程使用资源。是先这一目的的过程称为同步。

同步的关键是监视器的概念,监视器是所有用作互斥锁的对象。在给定时刻,只有一个线程可以拥有监视器。当线程取得锁时,也就是进入了监视器。其他所有企图进入加锁监视器的线程都会被挂起,直到第一个线程退出监视器。也就是说,这些等待的其他线程在等待监视器。

可以使用两种方法同步代码。这两种方法都要用到synchronized关键字。

使用同步方法

在Java中进行同步很容易,因为所有对象都有与他们自身关联的隐式监视器。只需要使用synchronized关键字修饰过的方法。

public synchronized void methodName() {
        
}

使用同步代码块

synchronized (objRef){
            
}

objRef可以使用任意对象。

同步方法与同步代码块的区别

同步代码块的锁是任意对象。
同步方法的锁是this。

synchronized 关键字可以加载静态方法上,那么加载静态方法上他的锁对象是当前类的class文件。
因为静态方法是随着类的加载而加载。

总结

进程:正在执行的应用程序
线程:进程的执行单元,执行路径
单线程:一个应用程序只有一条执行路径
多线程:一个应用程序有多条执行路径

Java程序的运行原理以及jvm的启动是多线程吗?
A:Java命令去启动jvm,jvm会启动一个进程,该进程会启动一个主线程。
B:jvm的启动是多线程的,因为它最低有两个线程启动,主线程和垃圾回收线程。

多线程的实现方案
A:继承Thread类
B:实现Runnable接口

线程的调度和优先级问题
A:线程调度
a:分时调度
b:抢占式调度
B:获取和设置线程优先级问题
a:默认是5
b:范围是1-10

线程的控制方法
A:休眠线程
B:加入线程
C:礼让线程
D:后台线程
E:终止线程

线程的生命周期
A:新建
B:就绪
C:运行
D:阻塞
E:死亡

相关文章

  • Java基础知识12-多线程4

    同步 当两个或多个想成需要访问共享资源时,他们需要以某种方式确保每次只有一个线程使用资源。是先这一目的的过程称为同...

  • Java多线程高级特性(JDK8)

    [TOC] 一、Java多线程 1.Java多线程基础知识 Java 给多线程编程提供了内置的支持。一条线程指的是...

  • 多线程--同步与锁

    同步与锁 上一篇中,笔者介绍了Java多线程的基础知识,主要讲解了进程/线程的区别、Java多线程的创建、Java...

  • Java多线程:生命周期,实现与调度

    前面几篇文章为Java多线程做足了铺垫,这篇终于到了正题,一起学习一下Java多线程的基础知识。 1. Java线...

  • Android开发 Java线程基础

    简介 本篇文章是带大家了解 Java多线程的基础知识.主要内容: 介绍多线程的概念, 了解多线程的优点, 状态, ...

  • Java学习

    Java 基础知识点 基础语法 多线程 并发 IO、NIO 集合框架 网络 RMI SQL 上图来自Java 征途...

  • java基础知识学习(六)-多线程机制

    title: java基础知识学习(六)-多线程机制date: 2019-04-30 22:06:47tags: ...

  • Java多线程与并发编程在面试中的超高频题!

    Java多线程与并发编程高频问题 《[Java面试必知必会]》系列已经更新两章了,Java基础知识面试高频考点和J...

  • Java实现两个线程交替打印1-100

    这道java基础题主要考察的是对java并发基础知识的掌握,一般需要掌握多线程中的wait(),notify(),...

  • 多线程基础

    1.关键术语和多线程基础介绍 关于多线程的基础知识请卡如下的文章: 高并发Java(1):前言 2.基础 参考:高...

网友评论

      本文标题:Java基础知识12-多线程4

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