zoukankan      html  css  js  c++  java
  • 多线程 input生产 res(username,sex) out消费 synchronized(res)

    public class Thread001 {

    class Res{
    public String userName;
    private char sex;
    }

    class InputThread extends Thread{

    Res res;
    public InputThread(Res res) {
    this.res = res;
    }

    @Override
    public void run() {
    int count=0;
    while (true){
            synchronized(res){
              if(count==0){
    res.userName="张胜军";
    res.sex='男';
    }else {
    res.userName="小薇";
    res.sex='女';
    }
    count=(count+1)%2;
           }


    }

    }
    }


    class OutThread extends Thread {

    Res res;

    public OutThread(Res res) {
    this.res = res;
    }

    @Override
    public void run() {
    while (true){
              synchronized(res){
                System.out.println(res.userName+","+res.sex);
              }

    }
    }
    }

    public static void main(String[] args) {
    new Thread001().start();
    }

    public void start(){
        Res res=new Res();
        //写的线程
        new InputThread(res).start();
        //读的线程
        new OutThread(res).start();
        //锁的对象是Res

    }

    }




  • 相关阅读:
    Android安全研究经验谈
    论文相关笔记5
    论文相关笔记4
    论文相关笔记3
    论文相关笔记2
    论文相关笔记1
    朝鲜RedStar_OS_3.0安装图解
    Careerup上的简历模板
    冒泡、二分排序
    火狐插件
  • 原文地址:https://www.cnblogs.com/smallfa/p/14615548.html
Copyright © 2011-2022 走看看