多线程
线程的简述
衰小孩、519
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程总结
线程的创建同步方法、同步块和锁线程间通信线程池原创 2021-09-28 15:10:17 · 91 阅读 · 0 评论 -
线程池的了解
线程池意义背景:经常创建和销毁,使用量特别大的资源,比如并发情况下的线程,对性能影响很大思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中,可以避免频繁创建销毁,实现重复利用,类似生活中公共交通工具优势:提高响应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)便于线程管理:(1)corePoolSize:核心池大小(2)maximumPoolSize:最大线程数(3)keepAliveTime:线程没有任务时最多保持多长时间后会原创 2021-09-28 15:05:57 · 124 阅读 · 0 评论 -
线程协助与通信
线程通信分析在生产者消费者问题中,仅有synchronized是不够的,synchronized可阻止并发更新同一个共享资源,实现了同步,synchronized不能用来实现不同线程之间的消息传递(通信)JAVA提供了几个方法解决线程之间的通信问题wait():表示线程一直等待,直到其他线程通知,与sleep不同,会释放锁wait(long timeout):等待指定毫秒数notify():唤醒一个处于等待状态的线程notifyAll():唤醒同一个对象上所有调用wait()方法的线程,优原创 2021-09-28 14:46:50 · 121 阅读 · 0 评论 -
Lock锁
Lock锁ReentrantLock类实现了Lock,它拥有与synchronized相同的并发性和内存意义,在实现线程安全的控制中,比较常用的是ReentrantLock,可以显示加锁、释放锁Lock是显式锁(必须手动开启和关闭),synchronized是隐式锁,出了作用域自动释放Lock只有代码块锁,synchronized有代码块锁和方法锁使用Lock锁,JVM将花费较少的时间来调度线程,性能更好,并且具有更好的扩展性(提供更多的子类)优先使用顺序:Lock>同步代码块(已经进入了原创 2021-09-28 14:04:13 · 106 阅读 · 0 评论 -
线程同步机制
同步进程同步形成条件:队列+锁锁机制由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了访问冲突问题,为了保证数据在方法中被访问时的正确性,在访问时加入锁机制 synchronized,当一个线程获得对象的排他锁,独占资源,其他线程必须等待,使用后释放锁即可,但存在以下问题:一个线程持有锁会导致其他所有需要此锁的线程挂起在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题如果一个优先级高的线程等待一个优先级低的线程释放锁,会导致优先级倒置,引起性原创 2021-09-26 12:34:11 · 78 阅读 · 0 评论 -
守护线程简述
定义线程分为用户线程与守护线程虚拟机必须确保用户线程执行完毕虚拟机不用等待守护线程执行完毕,如后台记录操作日志、监控内存、垃圾回收等待原创 2021-09-26 12:04:27 · 113 阅读 · 0 评论 -
线程优先级
优先级概念原创 2021-09-26 11:45:53 · 93 阅读 · 0 评论 -
线程的状态与方法
状态创建、就绪、阻塞、运行、死亡线程方法原创 2021-09-26 10:01:40 · 83 阅读 · 0 评论 -
Lambda表达式
存在意义避免匿名内部类定义过多可以使代码看起来很简洁去掉了一堆没有意义的代码,只留下核心逻辑函数式接口:任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。对函数式接口,我们可以通过lambda表达式来创建该接口的对象...原创 2021-09-26 09:57:24 · 79 阅读 · 0 评论 -
静态代理的原理
代理条件真实对象和代理对象都要实现同一个接口代理对象要代理真实角色原创 2021-09-26 09:48:56 · 175 阅读 · 0 评论 -
线程的创建
创建方式Thread class:继承Thread类实现 Runnable接口实现 Callable接口继承Thread(不推荐)自定义线程类继承 Thread类重写 run()方法创建线程对象,调用 start 方法启动线程线程不一定立即执行,CPU安排调度因为JAVA是单继承,所以不推荐使用继承 Thread 类来创建线程实现Runnable接口定义MyRunnable类实现Runnable接口实现run方法,编写线程执行体创建线程对象,调用start方法启动线程原创 2021-09-25 21:28:21 · 85 阅读 · 0 评论 -
多线程简述
线程简介程序:程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念进程:进程则是程序的一次执行过程,它是一个动态的概念,是系统资源分配的单位通常一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位注意:很多的线程是模拟出来的,真正的多线程是指有多个CPU,即多核,如服务器。如果是模拟出来的多线程,即在一个CPU的情况下,在同一个时间点,CPU只能执行一个代码,因为切换的很快,所以有同时执行的错觉核心概念线程就是独立的原创 2021-09-21 21:34:30 · 76 阅读 · 0 评论
分享