java多线程和synchronized应用实例
来源:互联网 发布:z参数矩阵的求法? 编辑:程序博客网 时间:2024/04/29 19:01
class Info{
private String str1="祁煜";
private String str2="学生 ";
private boolean flag = false;
public synchronized voidset(String str1,String str2){
if(!flag){
try{
super.wait();
}catch(Exceptione){
e.printStackTrace();
}
}
this.setStr1(str1);
try{
Thread.sleep(300);
}catch(Exception e){
e.printStackTrace();
}
this.setStr2(str2);
flag=false;
super.notify();
}
public synchronized void get(){
if(flag){
try{
super.wait();
}catch(Exceptione){
e.printStackTrace();
}
}
try{
Thread.sleep(300);
}catch(Exceptione){
e.printStackTrace();
}
System.out.println(this.getStr1()+"--->"+this.getStr2());
flag=true;
super.notify();
}
public void setStr1(String str1){
this.str1=str1;
}
public void setStr2(String str2){
this.str2=str2;
}
public String getStr1(){
return this.str1;
}
public String getStr2(){
return this.str2;
}
}
class Producer implements Runnable{
private Info info = null;
public Producer(Info info){
this.info=info;
}
public void run(){
boolean flag= false;
for(int i=0;i<50;i++){
if(flag){
this.info.set("祁煜","学生");
flag=false;
}else{
this.info.set("森森","池院");
flag=true;
}
}
}
}
class consume implements Runnable{
private Info info = null;
public consume(Info info){
this.info=info;
}
public void run(){
for(int i=0;i<50;i++){
this.info.get();
}
}
}
public class aynthronized0{
public static void main(String args[]){
Info info =new Info();
Producerpro= new Producer(info);
consumecon=new consume(info);
newThread(pro).start();
newThread(con).start();
}
}
- java多线程和synchronized应用实例
- java多线程synchronized,notify,wait应用实例
- Java多线程的synchronized应用
- java多线程synchronized的应用
- java关键字volatile和synchronized在多线程中的应用
- Java多线程volatile和synchronized
- Java多线程/并发05、synchronized应用实例:线程间操作共享数据
- Java多线程应用实例
- 【多线程】应用Java多线程实例
- Java【多线程知识总结(7)】多线程同步问题-关于synchronized代码块和synchronized方法的应用
- Java多线程 synchronized锁的应用
- java多线程-多线程同步代码块-银行存款实例-锁synchronized
- Java多线程同步Synchronized深入解析 类对象和类的实例对象
- Java多线程中Synchronized简介和Static Synchronized的区别
- Java多线程中Synchronized简介和Static Synchronized的区别
- Java多线程之Synchronized应用在static和非static方法上的区别
- Java多线程的synchronized和Lock
- java多线程之synchronized和锁对象
- makefile详解 (十一) 使用make更新函数库文件
- 纪念田健
- 如何建立计算机BIOS
- makefile详解 (十二) 后序
- PSU 安装11g RAC 11.2.0.3.0 to 11.2.0.3.1
- java多线程和synchronized应用实例
- sgu 225 Little Knights 状态压缩dp
- 彩超知识
- 各种排序算法的特点,时间复杂度,稳定性等
- VB6.0如何使用正则表达式
- BIT 1021 Pascal's Travels
- U大师U盘装双系统——XP下安装WIN7系统(V1.1.0)
- HDU2952(深度搜索)
- XP系统安装停止