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

Java基础-多线程(2)

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

一.JDK5以后的针对线程的锁定操作和释放操作.

同步的弊端:

A:效率低

B:容易产生死锁

二.死锁问题的描述

 两个或者两个以上的线程在争夺资源过程中,发生的一种互相等待的现象.

三.生产者和消费者多线程的体现

举例 :

           资源类;

           设置数据(生产者);

            获取数据(消费者);

加锁:

            A:生产者和消费和都要加锁;

            B:必须是同一把锁;

等待唤醒思路:

            A:生产者:

                     先看有没有数据,有就等待,没有就生产,生产完之后通知消费者来消费数据.

             B:消费者:

                       先看有没有数据,有就消费,没有就等待,通知生产者生产.

等待唤醒方法:

           wait();等待.

           notify();唤醒单个线程.

           notifyAll();唤醒所有线程.

           这些方法必须通过锁对象调用.

四.线程组

把多个线程放到一个组里.这样比较方法操作整个组的线程.

代码举例:

代码举例

五.线程池

线程池的好处:线程池里的每一个线程代码结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象来使用.

实现线程池的步骤:

                 A:创建一个线程池对象,控制需要创建几个线程对象.

                                 public static ExxcutorService newFixedThreadPool(int nThreads);

                 B:这种线程池的线程可以执行:

                               Runnable对象或者Callable对象代表的线程

                                做一个类实现Runnable接口.

                C:调用如下方法即可.

                               submit(Runnable task);

代码举例:

代码举例

六.线程常见情况

* A:新建--就绪--运行--死亡

* B:新建--就绪--运行--就绪--运行--死亡

* C:新建--就绪--运行--其他阻塞--就绪--运行--死亡

* D:新建--就绪--运行--同步阻塞--就绪--运行--死亡

* E:新建--就绪--运行--等待阻塞--同步阻塞阻塞--就绪--运行--死亡

相关文章

  • Java多线程目录

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

  • Android中的多线程

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

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

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

  • 技术体系

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

  • 高并发Java

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

  • Java基础

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

  • 多线程基础

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

  • java多线程相关

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

  • 7 多线程机制

    1.基本多线程概念参考java基础文集 2.AnsyncTask异步任务 3.Handler消息传递机制 多线程相...

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

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

网友评论

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

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