为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
深入浅出Java多线程_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

深入浅出Java多线程

Arthur JAVA开发工程师
难度入门
时长 4小时 0分
  • join()其他线程一定要改该线程执行完毕,其他线程才有机会执行。 join(long millis)带时间参数,告知其他线程最长的等待时间(单位毫秒)。 join(long millis,int nanos)将毫秒单位精确到纳秒。
    查看全部
  • 相关示意图(Thread和Runnable寄生于java.lang包)
    查看全部
  • 相关基本概念 进程: 1.程序(任务)的执行过程,------ 动态性 2.它持有资源(共享内存,共享文件)和线程 ---- 载体 线程:(互斥,同步) 线程是系统中最小的执行单元 同一进程中有多个线程 线程共享进程的资源
    查看全部
  • Java线程——如何正确停止线程 一、错误一:stop()方法 1、not stop:stop()方法会使线程戛然而止 2、使程序突然中止,无法完成完整的业务步骤,也无法进行清理工作 二、错误二:interrupt()方法 1、interrupt()方法只能设置interrupt标志位(且在线程阻塞情况下,标志位会被清除,更无法设置中断标志位),无法停止线程 三、正确方法:设置退出标志 1、使用退出标志位来停止while循环 2、完成最后一次业务后跳出while循环后,之后进行一些清理工作
    查看全部
  • Thread中自带的stop()方法不推荐使用,会造成线程突然停止,无法进行正常的任务处理。
    查看全部
  • 线程执行过程中几个重要的方法 sleep(); 让线程休眠一段时间, yield(); 让出当前线程的执行权限,让线程调度重新选择线程进行执行; join(); 让其他线程都停止,等待当前线程执行完毕。 当某个线程使用join()方法加入到运行中时,另一个线程会等待该线程执行完毕后再继续执行。
    查看全部
  • volatile关键字 保证了线程可以正确地读取其他线程写入的值,如果不写成volatile,由于可见性的问题,当前线程有可能不能读到这个值。 可见性JMM(JAVA内存模型)happens-before原则、可见性原则 用volatile修饰的变量,线程在每次使用该变量的时候,都会读取变量修改后的值
    查看全部
  • 当线程并不是继承了Thread类而是实现了Runnable接口时,runnable中并没有getName()等方法,这时若想要调用这些方法就需要通过Thread类的静态方法currentThread()来获取当前线程的实体再调用。
    查看全部
  • 线程的常用方法介绍
    查看全部
  • 进程:程序(任务)的执行过程,持有资源(共享内存,共享文件)和线程。 线程:线程是系统中最小的执行单元,同一进程中有多个线程,线程共享进程的资源。 线程的交互分为互斥与同步。
    查看全部
  • Thread常用方法
    查看全部
  • java.lang包 class--->Tread interface--->Runnable public void run()提供了线程实际工作执行的代码
    查看全部
  • 进程:程序(任务)的执行过程(动态性),持有资源(共享内存,共享文件)和线程 线程:是系统中最小的执行单元 同一进程中有多个线程,线程共享进程的资源 线程的交互:互斥、同步
    查看全部
  • java并发书籍
    查看全部
    0 采集 收起 来源:总结及展望

    2016-10-25

  • 互斥的实现:synchronized(lockObj);java的语法保证的同一时间,只有一个线程获得lockObj 同步:wait(),notify(),notifyall(),都是属于object类,并不是thread类 wait set 类似于线程的休息室,访问共享数据的代码称为critical section。一个线程获取锁,然后进入临界区 ,发现某些条件不满足,然后调用锁对象上的wait方法,然后线程释放掉锁资源,进入锁对象上的wait set。其他线程可以获取所资源,然后执行,完了以后调用notify,通知锁对象上的等待线程。 Ps:若调用notify();则随机拿出(这随机拿出是内部的算法,无需了解)一条在等待的资源进行准备进入Critical Section;若调用notifyAll();则全部取出进行准备进入Critical Section。
    查看全部

举报

0/150
提交
取消
课程须知
本课程的学习,需要小伙伴们具有面向对象基础知识及 Java 语言基础。如果您是新手,建议先移步 《Java入门第一季》和《Java入门第二季》
老师告诉你能学到什么?
1、Java 中如何使用线程 2、什么是争用条件 3、线程如何交互
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!