栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA多线程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA多线程

程序、进程和线程的概念

 

 

 

 线程的创建和使用

 

方式一:

 

方式二:

 给主线程重命名

 

创建线程两种方式的比较

 

Thread常用方法

 

通过同步机制解决线程安全问题 方式一:同步代码块:

也分成两类————一种是 Runnable接口线程,另一种是继承 Thread

 

在继承Thread类创建多线程的方式中,慎用this充当同步监视器,考虑使用当前类充当同步监视器。

方式二:同步方法:

 

方式三:Lock锁方式解决线程安全问题

 

死锁问题

 

释放锁的操作

 

不会释放锁的操作

 

线程通信

 

sleep()和wait()的异同
  • 1.这两个方法来自不同的类分别是Thread和Object

  • 2.最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁)。

  • 3.wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用(使用范围)

JDK 5.0新增线程创建方式一:实现Callable接口

 

  1. 创建一个实现Callable的实现类

  2. 实现call方法,将此线程需要执行的操作声明在call()中

  3. 创建Callable接口实现类的对象

  4. 将此Callable接口实现类的对象作为传递到FutureTask构造器中,创建FutureTask的对象

  5. 将FutureTask的对象作为参数传递到Thread类的构造器中,创建Thread对象,并调用start()

  6. 获取Callable中call方法的返回值

JDK 5.0新增线程创建方式二:使用线程池

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/462574.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号