多线程
有关该专栏的学习皆参考b站博主:“遇见狂神说”的课程讲解!
已转行@
不适合此行业,已弃坑……
展开
-
使用线程池
背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大.思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具。思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中.可以避免频繁创建销毁、实现重复利用.类似生活中的公共交通工具.提高响应速度(减少了创建新线程的时间)(提高响应速度(减少了创建新线程原创 2022-06-07 15:24:39 · 55 阅读 · 0 评论 -
synchronized同步锁
◆由于同一-进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了访问由于同一-进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了访问冲突问题,为了保证数据在方法中被访问时的正确性,在访问时加入锁机制冲突问题,为了保证数据在方法中被访问时的正确性,在访问时加入锁机制synchronized ,当一个线程获得对象的排它锁,独占资源,其他线程必须等待,同步,当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后释放锁即可.存在以下问题:使用后释放锁即可.存在以下问题.原创 2022-06-07 01:08:16 · 618 阅读 · 0 评论 -
lock锁
从JDK 5.0开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,每次只能有一个线程对Lock对象加锁,线程开始访问共享资源之前应先获得Lock对象锁接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资...原创 2022-06-07 00:48:43 · 76 阅读 · 0 评论 -
守护线程daemon
守护线程daemon线程分为用户线程和守护线程虚拟机必须确保用户线程执行完毕虚拟机不用等待守护线程执行完毕如:后台记录操作日志,监控内存,垃圾回收等待…原创 2022-06-06 16:44:15 · 72 阅读 · 0 评论 -
线程的优先级Priority
Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。JAVA提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行.线程的优先级用数字表示,范围从1~10.线程的优先级用数字表示,范围从1~10.Thread.MIN_PRIORITY= 1;线程.MIN_优先级=1;Thread.MAX_PRIORITY = 10;Thread.NORM_PRIORITY= 5;使用以下方式..原创 2022-06-06 16:24:37 · 68 阅读 · 0 评论 -
join插队线程
Join强制执行Join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞。可以想象成插队原创 2022-06-06 13:49:07 · 79 阅读 · 0 评论 -
线程的礼让
线程礼让礼让线程,让当前正在执行的线程暂停,但不阻塞将线程从运行状态转化为就绪状态让cpu重新调度,礼让不一定成功,看cpu心情!原创 2022-06-06 13:15:48 · 192 阅读 · 0 评论 -
正常休眠线程
线程休眠sleep(时间)指定当前线程阻塞的毫秒数;sleep存在异常InterruptedException;sleep时间达到后线程进入就绪状态;sleep可以模拟网络延时,倒计时等。每一个对象都有一个锁,sleep不会释放锁!...原创 2022-06-06 00:26:03 · 60 阅读 · 0 评论 -
正常停止线程
停止线程不推荐使用JDK提供的stop()、destroy()方法。【已废弃】推荐线程自己停止下来。建议使用一个标志位进行终止变量 当flag = false, 则终止线程运行测试stop1、建议线程正常停止–> 利用次数,不建议死循环。2、建议使用标志位–> 设置一个标志位3、不用使用stop或者destroy等过时或者JDK不建议使用的方法...原创 2022-06-05 23:39:10 · 52 阅读 · 0 评论 -
Lambda表达式
Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。Lambda表达式还增强了集合库。Java SE 8添加了2个对集合数据进行批量操作的包: java.util.function 包以及java.util.stream 包。 流(stream)就如同迭代器(iterator),但附加了许多额外的功能。总的来说,lamb原创 2022-06-05 23:01:15 · 323 阅读 · 0 评论 -
龟兔赛跑——多线程
代码如下:原创 2022-06-05 21:42:35 · 230 阅读 · 0 评论 -
Thread和Runnable区别
(实现Runnable接口),代码如下:Thread和Runnable代码的区别:原创 2022-06-05 00:59:24 · 1978 阅读 · 0 评论