随笔分类 - java——基础教程整理
摘要:解决线程安全问题——Lock锁 解决线程安全问题的三种方案:使用Lock锁java.util.concurrent.locks.Lock接口Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。Lock接口中的方法:**void lock()**获取锁。**voi
阅读全文
posted @ 2022-11-20 19:27
小白龙白龙马
摘要:静态同步方法 静态的同步方法锁对象是谁?不能是thisthis是创建对象之后产生的,静态方法优先于对象静态方法的锁对象是本类的class属性-->class文件对象(反射)
阅读全文
posted @ 2022-11-20 19:23
小白龙白龙马
摘要:解决线程安全问题——同步方法 解决线程安全问题的二种方案:使用同步方法 使用步骤:1.把访问了共享数据的代码抽取出来,放到一个方法中2.在方法上添加synchronized修饰符 格式:定义方法的格式 修饰符 synchronized 返回值类型 方法名(参数列表){ 可能会出现线程安全问题的代码(
阅读全文
posted @ 2022-11-20 19:20
小白龙白龙马
摘要:解决线程安全问题——同步代码块 卖票案例出现了线程安全问题 卖出了不存在的票和重复的票 解决线程安全问题的一种方案:使用同步代码块格式: synchronized(锁对象){ 可能会出现线程安全问题的代码(访问了共享数据的代码) } 注意:1.通过代码块中的锁对象,可以使用任意的对象2.但是必须保证
阅读全文
posted @ 2022-11-20 18:48
小白龙白龙马
摘要:线程安全问题的代码实现 实现类 package com.itheima.demo06.ThreadSafe; /* 实现卖票案例 */ public class RunnableImpl implements Runnable{ //定义一个多个线程共享的票源 private int ticket
阅读全文
posted @ 2022-11-20 15:35
小白龙白龙马
摘要:匿名内部类方式实现线程的创建 匿名内部类方式实现线程的创建 匿名:没有名字 内部类:写在其他类内部的类 匿名内部类作用:简化代码 把子类继承父类,重写父类的方法,创建子类对象合一步完成 把实现类实现类接口,重写接口中的方法,创建实现类对象合成一步完成 匿名内部类的最终产物:子类/实现类对象,而这个类
阅读全文
posted @ 2022-11-20 15:18
小白龙白龙马
摘要:Thread和Runnabled的区别 实现Runnable接口创建多线程程序的好处:1.避免了单继承的局限性 一个类只能继承一个类(一个人只能有一个亲爹),类继承了Thread类就不能继承其他的类 实现了Runnable接口,还可以继承其他的类,实现其他的接口 2.增强了程序的扩展性,降低了程序的
阅读全文
posted @ 2022-11-20 15:11
小白龙白龙马
摘要:创建线程方式二——Runnable 创建多线程程序的第二种方式:实现Runnable接口java.lang.RunnableRunnable 接口应该由那些打算通过某一线程执行其实例的类来实现。类必须定义一个称为 run 的无参数方法。java.lang.Thread类的构造方法 Thread(Ru
阅读全文
posted @ 2022-11-20 15:04
小白龙白龙马
摘要:Thread类的常用方法——sleep public static void sleep(long millis):使当前正在执行的线程以指定的毫秒数暂停(暂时停止执行)。 毫秒数结束之后,线程继续执行 public class Demo01Sleep { public static void ma
阅读全文
posted @ 2022-11-20 14:59
小白龙白龙马
摘要:Thread类的常用方法——设置线程名称 设置线程的名称:(了解)1.使用Thread类中的方法setName(名字)void setName(String name)改变线程名称,使之与参数 name 相同。2.创建一个带参数的构造方法,参数传递线程的名称;调用父类的带参构造方法,把线程名称传递给
阅读全文
posted @ 2022-11-20 14:58
小白龙白龙马
摘要:Thread类的常用方法——获取线程名称 获取线程的名称:1.使用Thread类中的方法getName()String getName()返回该线程的名称。2.可以先获取到当前正在执行的线程,使用线程中的方法getName()获取线程的名称static Thread currentThread()返
阅读全文
posted @ 2022-11-20 14:55
小白龙白龙马
摘要:创建多线程程序的第一种方式——Thred类 创建多线程程序的第一种方式:创建Thread类的子类java.lang.Thread类:是描述线程的类,我们想要实现多线程程序,就必须继承Thread类实现步骤:1.创建一个Thread类的子类2.在Thread类的子类中重写Thread类中的run方法,
阅读全文
posted @ 2022-11-20 14:26
小白龙白龙马
摘要:主线程的概念 主线程:执行主(main)方法的线程 单线程程序:java程序中只有一个线程 执行从main方法开始,从上到下依次执行 JVM处理步骤:1.JVM执行main方法,main方法会进入到栈内存2.VM会找操作系统开辟一条main方法通向cpu的执行路径cpu就可以通过这个路径来执行mai
阅读全文
posted @ 2022-11-20 14:04
小白龙白龙马
摘要:线程调度: 分时调度 所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。 抢占式调度 优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调度。
阅读全文
posted @ 2022-11-20 13:58
小白龙白龙马
摘要:线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程
阅读全文
posted @ 2022-11-20 13:53
小白龙白龙马
摘要:进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。
阅读全文
posted @ 2022-11-20 13:45
小白龙白龙马

浙公网安备 33010602011771号