![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发
carlosli
这个作者很懒,什么都没留下…
展开
-
生产者消费者问题(多进程+共享内存+信号量)
最近学习java多线程,遇到生产者,消费者问题。记录一下,加以巩固生产者和消费者问题是多个相互合作的进程之间的一种抽象。生产者和消费者之间的关系:1. 对缓冲区的访问是互斥的。由于两者都会修改缓冲区,因此,一方修改缓冲区时,另一方不能修改,这就是互斥。2. 一方的行为影响另一方。缓冲区不空,才能消费,何时不空?生产了就不空;缓冲区满,就不能生产,何时不满?消费了原创 2013-03-20 18:46:06 · 2573 阅读 · 0 评论 -
Peterson 算法
Peterson 算法(Dekker算法的演化)是免锁编程的基本算法之一,这个算法设计得很巧妙,核心就是三个标志位是怎样控制两个方法对临界区的访问的: volatile int flag1 = 0; //主观因素:flag1表示方法1自身是否要求进入临界区 volatile int flag2 = 0; //主观因素:flag2表示方法2自身是否要求进入临界区 vo转载 2013-03-03 16:52:18 · 750 阅读 · 0 评论 -
Java多线程面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次
近在学习多线程,特贴在这里,并附上自己所作答案(参考与张孝祥老师的方法)。题目如下:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次思路如下:子线程语主线程为互斥,可用SYNCHRONIZED。很容易想到如下代码package concurrent;public class theFirs原创 2013-03-30 06:34:35 · 3126 阅读 · 0 评论 -
Java多线程中join方法的理解
转自 http://uule.iteye.com/blog/1101994Java多线程中join方法的理解thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。t.join(); //使调用线程 t 在此之前执行完转载 2013-04-01 00:10:56 · 885 阅读 · 0 评论 -
信号量 进程 (m个生产者,n个消费者,容量为r的缓冲区)
转载,原文地址http://www.cnblogs.com/phinecos/archive/2006/08/25/486552.html 1.整型信号量是一个整数变量,除初始化外,对其只能执行两个操作,即wait(s)和signal(s),也叫p(s)和v(s)操作,均是原语操作,用来实现进程的同步,互斥. 2.记录型信号量type semaphore = rec转载 2013-03-20 18:14:10 · 6843 阅读 · 0 评论