多线程
文章平均质量分 83
布莱斯Bryce
记录学习笔记
展开
-
多线程的生产消费者问题,多线程下如何实现加减平衡,JUC实现
synchronized 不能包含代码多了,也不能包含代码少了。 简单版的生产消费者模型 基本写法 需要运用到线程通信wait() class PCModel{ int num=0; public synchronized void produce() throws Exception { if(num!=0){ this.wait(); } num++; System.out.println(Thre原创 2021-01-15 15:17:51 · 97 阅读 · 0 评论 -
多线程(二)同步问题(synchronized 与 Lock 的异同,sleep () 和 wait () 的异同)
线程同步 优点:同步的方式,解决了线程的安全问题。 缺点:操作同步代码时,只能有一个线程参与,其他线程等待。相当于是一个单线程的过程,效率低。 操作共享数据的代码,即为需要被同步的代码。 共享数据:多个线程共同操作的变量。 同步监视器,俗称:锁。任何一个类的对象,都可以充当锁。 要求:多个线程必须要共用同一把锁。在实现Runnable接口创建多线程的方式中,我们可以考虑使用this充当同步监视器。 1. 关键字:synchronized 同步方式一:同步代码块 synchronized(同步监视器){ /原创 2020-12-07 14:00:47 · 442 阅读 · 1 评论 -
多线程(一)基础知识点梳理(线程的四种创建方式)
基本概念:程序、进程、线程 程序:是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码。 进程:是程序的一次执行过程,或是正在运行的一个程序 线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。 一个Java应用程序java.exe,其实至少有三个线程:main()主线程,gc()垃圾回收线程,异常处理线程。当然如果发生异常,会影响主线程。 基本概念:并行与并发 并行:多个CPU同时执行多个任务。比如:团队多人同时开发一个项目不同模块 并发:一个CPU(采用时间片原创 2020-11-17 15:23:05 · 176 阅读 · 0 评论