![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
首领ろ荆棘
这个作者很懒,什么都没留下…
展开
-
多线程【生产者消费者模型】
多线程【生产者消费者模型】生产者消费者问题在生活中经常会遇到两方都在处理某一资源,而处理的方式不同。比如:水池中注水和排水,煤场中往进运煤和往出拉煤。这些操作处理的资源都相同,只是他们操作的方式有所不同。这类操作就多线程中另外一种高级应用,即多生产和多消费。生产者消费者代码多线程中最为常见的应用案例:生产者消费者问题。举例:生产者在生产商品,而消费者在消费生产的商品。生产者把生产的商品放进容器中,而消费者从容器中取出商品进行消费。可是在整个过程中,如果容器装满了,那么生产者应该停止生产,如果容器中原创 2020-08-17 00:43:27 · 176 阅读 · 0 评论 -
多线程【死锁】
多线程【死锁】死锁现象同步的另一个弊端:当线程任务中出现了多个同步(多个锁)时,如果同步中嵌套了其他的同步。这时容易引发一种现象:死锁。这种情况能避免就避免掉。死锁示例//Thread-0synchronized(obj1){ //thread-0 拿到锁 obj1 synchronized(obj2){ }}//Thread-1synchronized(obj2){ //Thread-1 拿到锁 obj2 synchronized(obj1){ }}// 代码说明:Th原创 2020-08-17 00:42:53 · 93 阅读 · 0 评论 -
多线程【线程的安全问题及synchronized同步锁】
多线程【线程的安全问题及synchronized同步锁】1、线程的安全问题1.1、线程安全问题的发生上述买票的例子,继续进行分析发现,当四个线程都开启之后,CPU会在这四个线程之间随机切换。class ThreadDemo1 { public static void main(String[] args) { //1,创建Runnable接口的子类对象。 Ticket t = new Ticket(); //2,创建四个线程对象。并将Runn原创 2020-08-17 00:42:18 · 230 阅读 · 0 评论 -
多线程【概述、原理、创建、获取】
多线程【概述、原理、创建、获取】1、多线程概述进程:正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能,进程是系统进行资源分配和调度的一个独立单位。进程是正在运行的程序,进程负责给程序分配内存空间,而每一个进程都是由程序代码组成的,这些代码在进程中执行的流程就是线程。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程原创 2020-08-17 00:41:17 · 134 阅读 · 0 评论