线程
小猪帕绮
这个作者很懒,什么都没留下…
展开
-
线程 线程池
线程池思想概述线程的复用,执行王一个任务,并不被销毁,而是可以继续执行其他任务。java.util.concurrentExecutors类 (生产线程池的工厂类)线程池:JDK1.5之后提供的java.util.concurrent.Executors:线程池的工厂类,用来生成线程池Executors类种的静态方法:static ExecutorService newFixe...原创 2020-01-19 15:19:58 · 81 阅读 · 0 评论 -
线程 吃货类测试
包子和包子铺的案例吃货类package day15;/*消费者(吃货)类:是一个线程类,可以继承Thread设置线程任务(run)吃包子对包子的状态进行判断false:没有包子吃货调用wait方法进入等待状态true:有包子吃货吃包子吃货吃完包子修改包子的状态为false没有吃货唤醒包子子铺线程,生产包子*/public class ChiHuo extends...原创 2020-01-19 13:56:20 · 81 阅读 · 0 评论 -
线程 包子案例
消费者public class BaoZi { //皮 String pi; //陷 String xian; //包子的状态:有true,没有false boolean flag = false;1.生产者(包子铺)类是一个线程类,可以继承Thread设置线程任务(run):生产包子对包子的状态进行判断true:有包子包子铺调用w...原创 2020-01-19 13:06:36 · 182 阅读 · 0 评论 -
线程 线程之间的通信包子案例
通信:多个线程在处理同一个资源,但处理的动作(线程的任务)却不相同。总设计图原创 2020-01-15 15:53:02 · 86 阅读 · 0 评论 -
线程 Object线程的wait()参数和nofify()
1.wait(毫秒)不用唤醒等毫秒过去后自己醒来了2.notify()唤醒一个单线程3.notifyAl()唤醒多个线程进入到TimeWaiting(记时等待)有两种方式1.使用sleep(long m)方00法,在毫秒值结束之后,线程睡醒进入到Runnable/Blocked状态2.使用wait(long m)方法如果在毫秒值结束之后,还没有被notify唤醒,就会自动醒来,相除...原创 2020-01-15 14:53:27 · 254 阅读 · 0 评论 -
线程 线程状态图
线程状态图原创 2020-01-14 23:45:56 · 133 阅读 · 0 评论 -
线程 线程同步
如何解决线程安全的方法卖票案例出现线程安全问题卖出了不存在的票和重复的票线程同步:方法:1.同步代码块格式synhronized(锁对象){可能会出现线程安全问题的代码(访问了共享数据)注意:1.通过代码块中的锁对象,可以使用任意的对象2.但是必须保证多个线程使用锁对象是同一个3.锁的作用:把同步代码块锁住,只让一个线程在同步代码块中执行}//实现卖票案例public...原创 2020-01-14 23:39:15 · 71 阅读 · 0 评论 -
线程 关于卖票线程安全的理解
原创 2020-01-14 21:44:46 · 156 阅读 · 0 评论 -
线程 线程安全问题
模拟卖票案例创建三个线程,同时开启,对共享的票进行出售public class Demo01Ticket { public static void main(String[] args) { //创建Runnable接口的实现类对象 RunnableImpl run = new RunnableImpl(); //创建Thread类对象,...原创 2020-01-14 15:25:34 · 53 阅读 · 0 评论 -
线程安全
多线程访问共享数据产生的线程安全问题原创 2020-01-14 14:50:33 · 60 阅读 · 0 评论 -
线程 匿名内部类方式实现线程的创建
匿名内部类方式实现线程的创建匿名:没有名字内部类:写在其他类内部的类匿名内部类作用:简化代码把子类继承父类,重写父类的方法,创建子类合一步完成把实现类实现类接口,重写接口的方法,创建是西安类对象合成一步完成匿名内部类的最总产物:子类/实现类对象,而这个类没有名字格式:new 父类/接口(){重复父类/接口的方法};//有分号线程的父亲是Thread重写run方法,设置线程任...原创 2020-01-14 14:16:04 · 113 阅读 · 0 评论 -
线程 Thread和Runnable的区别
实现Runnable接口创建多线程程序的好处:1.避免了单继承的局限性一个类只能继承一个类(一个人只能有一个亲爹),类继承了Thread类就不能继承其他类实现了Runnable接口,还可以继承其他类,实现其他的接口2.增强了程序的扩展性,降低了程序的耦合性(解耦)实现Runnable接口的方式,把设置线程任务和开启了新线程进行分离(解耦)实现类中,重写了run方法:用来设置线程任务创...原创 2020-01-14 13:25:21 · 122 阅读 · 0 评论 -
线程 Runable重写run方法
创建线程方式二java.lang.RunnableRunnable种没有start()方法,但创建的实现类对象可以调用start()方法1.定义Runnable接口的实现类,并需要重写run()方法,该run()方法的方法体同样时该线程的线程执行体。2.创建Runnable实现类的实例,并以此为实例做Thread的target来创建Thread对象,该Thread对象才是真正的线程对象。...原创 2020-01-14 12:40:00 · 4686 阅读 · 0 评论 -
线程 Thread类方法
Thread类的sleep()方法sleep()是静态方法可以直接调用sleep方法本身存在异常需要调用try{}catch(){}语句例子 运用sleep()方法的案例public class Demo01Sleep { /* public static void sleep(long mills)使当前正在执行的线程以只当的毫秒暂停(暂时停止执行) 毫秒数结束之...原创 2020-01-14 10:58:34 · 80 阅读 · 0 评论 -
线程 使用Thread类中的方法setName(名字)
设置线程的名称:(了解)1.使用Thread类中的方法setName(名字)void setName(String name)改变线程名称使之与参与name 相同。2.创建一个带参数的构造方法,参数传递线程的名称,调用父类的带参构造方法,把线程名称传给父类,让父类(Thread) 给子线程起一个名字Thread(String name)分配新的Thread对象。MyThread类方...原创 2020-01-14 10:40:33 · 3759 阅读 · 0 评论 -
线程 Thread类的常用方法,获取线程名称
线程的名称主线程;mian新线程:Thread-0,Thread-1,Thread-21.创建Thread类的子类对象。2.调用start方法,开启新线程,执行run方法。3.Thread.currentThread()获取当前的的线程,才能获取该getName()。调用myThread类的方法public class Demo01GetThreadName { /* ...原创 2020-01-14 10:19:44 · 208 阅读 · 0 评论 -
线程 多线程的内存图解析
在这里插入图片描述原创 2020-01-13 15:36:43 · 278 阅读 · 0 评论