美文网首页
Java多线程

Java多线程

作者: 方研梅 | 来源:发表于2017-11-14 16:36 被阅读0次

进程是程序(任务)的执行过程(具有动态性,必须在动态执行时才能被称为进程,对于静态存储的程序不能说是进程);

进程特点:持有资源(共享内存,共享文件)和线程;故而进程是资源和线程的载体


线程是系统中最小的执行单元,同一进程中有多个线程,线程共享进程的资源;

要点:

1、Java对线程的支持

thread类,rannable接口

2、线程的创建和启动

3、线程常用的方法

4、如何正确停止线程

如何正确地停止Java中的线程

已经不再使用stop()方法来停止线程;因为该方法会导致线程戛然而止,不知道线程完成了什么,不知道那些工作还没有做,无法进行一些清理工作;

应该使用退出标志当线程退出标志显示线程要退出时,会为程序执行后续的应该完成的操作,使得一个完成的业务步骤能够完整地执行完毕;在执行完整的业务步骤之后可以有足够的时间进行代码清理工作;从而保证了代码的安全性;

其中,interrupt方法不能用来停止线程,该方法的初衷仅仅是中断程序,而不是停止程序;

~~线程之间的争用

~~线程的交互——互斥与同步

<1>线程互斥:在同一时间只能有一条线程对关键数据或者临界区进行操作;

<2>线程同步:线程之间的一种通信机制;某一个线程做了一件事,它会以某种形式告知其他的线程它已做完这件事;

互斥的实现:增加一个锁对象;synchronized(intrinsic lock)关键字或者代码块;

同步的实现:wait()/notify()/notifyAll(),这三个方法均为object对象的成员函数,而不是线程thread对象的函数;调用wait()方法的线程和调用notifyAll()方法的线程不是同一个线程的同一次操作中执行的,是两个不同的线程,分别调用;

如何理解同步:WaitSet(可理解为线程休息室)

总结:

相关文章

  • 带你搞懂Java多线程(五)

    带你搞懂Java多线程(一)带你搞懂Java多线程(二)带你搞懂Java多线程(三)带你搞懂Java多线程(四) ...

  • 带你搞懂Java多线程(六)

    带你搞懂Java多线程(一)带你搞懂Java多线程(二)带你搞懂Java多线程(三)带你搞懂Java多线程(四)带...

  • Java多线程目录

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

  • java多线程--Callable

    **移步[java多线程系列文章]Java多线程(二十二)---LockSupport工具Java 停止线程 一、...

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

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

  • 5月份第一周学习安排

    学习内容: java多线程及线程同步的方法(使用) java多线程各种同步方法的原理和优缺点 java多线程设计模...

  • 带你搞懂Java多线程(四)

    带你搞懂Java多线程(一)带你搞懂Java多线程(二)带你搞懂Java多线程(三) 什么是线程间的协作 线程之间...

  • Java基础(六)

    多线程 Java多线程并发 1.1 JAVA 并发知识库 1.2 JAVA 线程实现/创建方式 1.2.1 继承 ...

  • (五) volatile关键字

    Java多线程目录 1 背景 理解Java多线程的内存抽象逻辑请阅读java多线程内存模型,当代操作系统,处理器为...

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

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

网友评论

      本文标题:Java多线程

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