摘要:
线程通信 应用场景:生产者和消费者问题 这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件。 在生产者和消费者问题中,仅有synchronized是不够的。synchronized可阻止并发更新同一个共享资源,实现了同步,但synchronized不能用来实 阅读全文
posted @ 2019-12-03 21:52
王迎婧
阅读(170)
评论(0)
推荐(0)
摘要:
线程同步 多个线程操作同一个资源 并发: 同一个对象被多个线程同时操作。 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象,这时我们就需要线程同步,线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面的线程使用完毕,下一个线程再使用。 阅读全文
posted @ 2019-12-03 21:52
王迎婧
阅读(445)
评论(0)
推荐(0)
摘要:
线程方法 ①setPriority(int newPriority) 更改线程的优先级 ②static void sleep(long millis) 在指定的毫秒内让当前正在执行的线程休眠 ③void.join() 等待该线程终止 ④static void yield() 暂停当前正在执行的线程对 阅读全文
posted @ 2019-12-03 21:51
王迎婧
阅读(405)
评论(0)
推荐(0)
摘要:
线程五大状态 Thread t=new Thread() 线程对象一旦创建就进入到了新生状态 当调用start方法时,线程立即进入就绪状态,但不意味着立即调度执行,会等待cpu调度 cpu调度进入运行状态,线程才真正执行线程体的代码块 当调用sleep、wait或同步锁定时,线程进入阻塞状态,就是代 阅读全文
posted @ 2019-12-03 21:50
王迎婧
阅读(123)
评论(0)
推荐(0)
摘要:
简化代码,避免匿名内部类定义过多 学习Lamda表达式的关键在于理解Functional Interface(函数式接口) 函数式接口的定义:任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口 public interface Runnable { public abstract voi 阅读全文
posted @ 2019-12-03 21:49
王迎婧
阅读(272)
评论(0)
推荐(0)
摘要:
静态代理 静态代理模式: 真实对象和代理对象都要实现同一个接口代理对象要代理真实角色,代理对象要有参数。代理对象可以做真实对象做不了的事情,真实对象专注自己的事情 package com.wang.thread;public class StaticProxyDemo01 { public sta 阅读全文
posted @ 2019-12-03 21:48
王迎婧
阅读(263)
评论(0)
推荐(0)
摘要:
线程创建 三种创建方式:①Thread class 继承Thread类 ②Runnable接口 实现(implement)Runnable接口,Thread类就是实现了Runnable接口 ③Callable接口 实现Callable接口 Thread类 自定义线程类继承Thread类;重写run方 阅读全文
posted @ 2019-12-03 21:47
王迎婧
阅读(366)
评论(0)
推荐(0)
摘要:
恢复内容开始 多线程环境下对变量的读写操作是否是原子的? 其实这个题目有点歧义,后面讲到 以下多线程对int型变量x的操作,哪几个需要进行同步:( )A. x=y; B. x++; C. ++x; D. x=1; 要彻底理解这个问题,我们首先需要从硬件讲起。以常见的X86 CPU来说,它基于以下三种 阅读全文
posted @ 2019-12-03 20:35
王迎婧
阅读(285)
评论(0)
推荐(0)