美文网首页
Java基础-多线程(1)

Java基础-多线程(1)

作者: 王子也寂寞 | 来源:发表于2017-06-19 16:02 被阅读0次

一.多线程的实现方案:

1.继承Thread类

2.实现Runnable接口 

二.线程的调度和优先级问题:

1.线程的调度

A:分时调度

B:抢占式调度(Java采用的就是这种);

2.获取和设置线程的优先级

获取对象的优先级:

 public final int getPriority();

 设置对象的优先级

public final void setPriority();

A:默认是5

B:范围是1-10;

三.线程的控制:

A:线程休眠:Thread.sleep(long  millis);

B:线程加入:public  final  void  join();  等待该线程终止再执行其他的.

C:线程礼让:public static void yield();暂停当前正在执行的线程对象,并执行其他线程.让多个线程的执行更和谐,但是不能保证一个线程执行一次.

D:守护线程:public final void setDaemon(boolean on);将该线程标记为守护线程或用户线程.当正在运行的线程都是守护线程的时候,Java虚拟机退出,该方法必须在启动线程前调用.

E:线程终止:stop():这个方法已经过时;现在用public void interrupt();中断线程,把线程状态终止,并且抛出一个InterruptedException.

四.出现线程安全问题的原因以及解决办法:

1.原因:

A:是否有多线程环境.

B:是否有共享数据.

C:是否有多条语句操作共享数据.

2.解决办法:

A:同步代码块

synchronized (同步锁对象) {

               需要被同步的代码;

}

这里的锁对象可以是任意对象.

B:同步方法:

            把同步关键字加在方法上.

a:非静态方法

             这里的锁对象是this.

b:静态方法:

这里的锁对象是类的字节码文件对象.

相关文章

  • Java多线程目录

    Java多线程目录 Java多线程1 线程基础Java多线程2 多个线程之间共享数据Java多线程3 原子性操作类...

  • Android中的多线程

    1. Java多线程基础 Java多线程,线程同步,线程通讯 2. Android常用线程 HandlerThre...

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

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

  • android 多线程 — 线程的面试题和答案

    这里都是我从各个地方找来的资料,鸣谢: Java多线程干货系列—(一)Java多线程基础 JAVA多线程和并发基础...

  • 技术体系

    一,java核心 java基础,jvm,算法,多线程,设计模式 Java基础:java基础相关,全栈java基础 ...

  • 多线程基础

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

  • Java基础

    Java基础 集合基础 集合框架 多线程基础 多线程框架 反射 代理 集合基础 ArrayList LinkedL...

  • java多线程相关

    (一) 基础篇 01.Java多线程系列--“基础篇”01之 基本概念 02.Java多线程系列--“基础篇”02...

  • 高并发Java

    高并发Java(1):前言 高并发Java(2):多线程基础 高并发Java(3):Java内存模型和线程安全 高...

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

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

网友评论

      本文标题:Java基础-多线程(1)

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