线程
宇智波超
做世界的水手,奔赴所有港口。
展开
-
06_线程池_简单记录
1、概念: 每一个线程都是 new Thread();频繁创建对象效率低下。所以创建线程池来管理。 2、现状 线程是对象,可以用集合来装。通常用LinkedList<>。JDK1.5之后开始出现线程池。调用即可。原创 2021-09-08 22:33:04 · 54 阅读 · 0 评论 -
05_多线程_线程间的通信
1、线程间通信的两个方法: <1>、wait() <2>、notify()/notifyAll() 2、案例实现: public class waitAndNotify_demo02 { public static void main(String[] args) { //创建锁对象保证唯一同步性 Object object = new Object(); //创建顾客1线程 new Thread(){原创 2021-09-07 22:26:19 · 45 阅读 · 0 评论 -
04_多线程
1、解决线程并发安全问题的第二种方法_加Lock锁 线程并发安全可以加两种锁 <1>第一种:syncronized关键字 缺点:需要频繁判断锁对象存在与否,效率较低 <2>第二种:加Lock锁 可以手动加锁和解锁,解决了判断锁存在与否的问题。 2、LOCK锁的使用步骤 <1>、lock是接口,要用他的实现类来实现。 <2>、代码演示: Lock lock = new ReentrantLock(); 3、小案例演示实现: public class ent原创 2021-09-06 21:07:37 · 56 阅读 · 0 评论 -
03_多线程
解决多线程访问数据的第一种方法: 1、线程同步机制__Synchronized关键字 多线程访问共享数据,就会出现安全性问题。 解决的办法之一:就是加锁同步代码块 <1>参数为任意对象 <2>加在方法内 2、Synchronized关键字加锁的缺点 <1>、频繁判断锁对象存在与否 <2>、频繁获取锁,释放锁 3、代码实现 public class myThread implements Runnable { //syncronized关键字原创 2021-09-04 23:23:00 · 61 阅读 · 0 评论 -
02_多线程
创建线程的第二种方式: 1、实现Runnable接口 <1>该方法用得比较多,因为java支持多实现,不支持多继承 2、实现步骤 <1>创建接口实现类对象 <2>重写run()方法 <3>创建实现类的实例 <4>接口实现类对象没有start().所以将其作为参数创建Thread对象 3、代码实现 //1、创建接口实现类对象 public class Person implements Runnab原创 2021-09-03 23:42:20 · 56 阅读 · 0 评论 -
01_多线程
1、并发与并行的概念 并发是一个CPU交替执行两个任务 并行是多个CPU同时执行多个任务 2、多线程的第一种实现方式 继承Thread类 步骤: <1>创建子类继承Thread <2>重写run() <3>创建子类实现类 <4>[子类对象].start() 3、线程的两个常用方法 <1>、getName() <2>、sleep() ...原创 2021-09-02 23:55:30 · 61 阅读 · 0 评论