多线程
文章平均质量分 65
ABCdxy~
这个作者很懒,什么都没留下…
展开
-
线程通信——消费者和生产者问题
均是Object类的方法,都只能在同步方法或者同步代码块中使用,否则会抛出异常IIIegalMonitorStateException。这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件。并发协作模型“生产者/消费者模式”----->并发协作模型“消费者/消费者模式”----->Java提供了几个方法解决线程之间的通信问题。..................原创 2022-07-22 16:43:16 · 154 阅读 · 0 评论 -
死锁与Lock锁
多个线程各自占有一些共享资源,并且互相等待其他线程占有资源参能运行,而导致两个或多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有时,就可能会发生“死锁”问题。死锁就是多个线程互相抱着对方需要的资源,然后形成僵持。......原创 2022-07-21 21:09:18 · 116 阅读 · 0 评论 -
线程的同步
并发同一个对象被多个线程同时操作。原创 2022-07-20 16:51:46 · 83 阅读 · 0 评论 -
守护(daemon)线程
线程分为用户线程和守护线程虚拟机必须确保用户线程执行完毕虚拟机不用等待守护线程执行完毕如,后台记录操作日志,监控内存,垃圾回收等待...原创 2022-07-15 11:07:17 · 280 阅读 · 0 评论 -
线程优先级
优先级低只是意味着获得调度的概率低,并不是优先级低就不会被调用了。这都是看CPU的调度。优先级的设定建议在start()调度前。每次调度顺序都不一定相同。原创 2022-07-15 10:19:46 · 91 阅读 · 0 评论 -
线程的状态及运用
更改线程的优先级例: 例:①模拟倒计时 ②打印系统当前时间 例: 以上两段代码一样,但结果不同,礼让不一定成功例: 线程可以处于以下状态之一: NEW:尚未启动的线程处于此状态 RUNNABLE:在Java虚拟机种执行的线程处于此状态 BLOCKED:被阻塞等待监视器锁定的线程处于此状态 WAITING:正在等待另一个线程执行动作的线程处于此状态 TIMED_WAITING:正在等待另一个线程执行动作达到指定等待的线程处于此状态原创 2022-07-14 17:59:12 · 92 阅读 · 0 评论 -
Lambda表达式
为什么要用lambda表达式? 避免匿名内部类定义过多 可以让你的代码看起来很简洁 去掉一堆没有意义的代码只留下核心的逻辑例:new Thread (()->System.out.println("多线程学习...")).start();理解Functional Interface(函数式接口)是学习Java8 lambda表达式的关键所在函数式接口的定义: 如何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。原创 2022-07-14 09:49:04 · 84 阅读 · 0 评论 -
线程的创建
说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。 而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的的单位。注意: 很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。如果是模拟出来的多线程,即在一个cpu的情况下,在同一个时间点,cpu只能执行一个代码,因为切原创 2022-07-13 15:05:32 · 86 阅读 · 0 评论