java复习之多线程的简单理解

来源:互联网 发布:星火英语怎么样 知乎 编辑:程序博客网 时间:2024/06/07 03:41
  1. 什么是多线程
    并发完成一件事情称为多线程

  2. 实现线程的两种方式
    1>继承Thread类
    2>实现runable接口,

无论哪种实现方式,都需要一个任务来执行,任务是指线程在启动时执行的操作,该工作的代码被写在run方法中,第二种方法主要是针对java不能多继承的问题
3. 线程的生命周期
简单的画一个图
简单的画一个图
虽然多线程看起来同时执行,但事实上同一时间只有一个线程在执行,只是线程之间切换快,给人一种同时执行的假象
4. 操作线程的方法

1>线程的休眠 t.sleep();

2>线程的加入 t.join();

3>线程的终止 t.stop();这种方法已经弃用,一般使用一个布尔值来控制循环

4>线程的礼让 t.yield();礼让给相同优先级的线程
5. 线程的优先级

优先级最低 Thread.MIN_PRIORITY(常数为1)

优先级最高 Thread.MAX_PRIORITY(常数为0)

居中 Thread.NOMAL_PRIORITY(常数5)

每个线程的优先级都在1~10之间,默认为5,超过范围则会报异常,每个新线程都继承了父线程的优先级

当一个线程让出cpu时,系统会选择与当前优先级相同的线程给予执行,系统始终选择就绪状态下优先级最高的线程进入运行状态

优先级示例图
如图,AB相互执行,等AB结束,C执行,C结束,D执行

  1. 线程同步机制
    线程同步机制是为了防止资源访问的冲突,引起的线程安全问题

线程同步机制:
如何实现资源共享?采用固定时间内,只允许一个线程访问共享资源,给共享资源上一道锁,即synchronized关键字。

现在理论知识占多数,深入学习将随着学习的深入和工作的基类而不断进行。。。

Fightting Everyday。。。

0 0
原创粉丝点击