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

    }

    }




  • 相关阅读:
    JS 异步编程
    JS XMLHttpRequest
    JS 日期
    JS DOM
    JS 异常处理
    JS BOM
    JS 正则表达式
    JS 面向对象
    (22)python PhantomJS
    HDU1698 线段树(区间更新区间查询)
  • 原文地址:https://www.cnblogs.com/smallfa/p/14615548.html
Copyright © 2011-2022 走看看