zoukankan      html  css  js  c++  java
  • 多线程同步实例

    //模拟一个场景,一个线程写数据,另一个线程读数据

    package com.vcredit.ddcash.decision;

    public class MyThread {

    public static void main(String[] args) {
    Res res = new Res();
    Thread t1 = new Thread(new inputThread(res));
    Thread t2 = new Thread(new outputThread(res));
    t1.start();
    t2.start();
    }
    }
    //写数据
    class inputThread implements Runnable{
    Res res;;
    int count = 100;
    public inputThread(Res res){
    this.res = res;
    }
    @Override
    public void run() {
    int i=0;
    while(true){synchronized (res) {
    // if (res.flag) {
    // try {
    // res.wait();
    // } catch (InterruptedException e) {
    // }
    // }
    if (i == 0) {
    res.setName("11");
    res.setSex("男");
    } else {
    res.setName("22");
    res.setSex("女");
    }
    i = (i + 1) % 2;
    //res.setFlag(true);
    //res.notify();
    }
    }
    }
    }
    //读书数据
    class outputThread implements Runnable{
    Res res;
    int count = 100;
    public outputThread(Res res){
    this.res = res;
    }
    @Override
    public void run() {

    while(true){
    synchronized (res) {
    /*if (!res.flag)
    try {
    res.wait();
    } catch (Exception e) {
    }*/
    System.out.println("name:" + res.getName() + "--sex:" + res.getSex());
    //res.setFlag(false);
    //res.notify();
    }

    }
    }
    }
    class Res{
    private String name;
    private String sex;
    private boolean flag;
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public String getSex() {
    return sex;
    }
    public void setSex(String sex) {
    this.sex = sex;
    }
    public boolean isFlag() {
    return flag;
    }
    public void setFlag(boolean flag) {
    this.flag = flag;
    }

    }

  • 相关阅读:
    OWNER:Java配置文件解决方案 使用简介
    验证数字最简单正则表达式大全
    使用Spring进行统一日志管理 + 统一异常管理
    SpringMVC 拦截器
    Java排序
    tomcat编码配置
    日常任务
    netty入门代码学习
    redis学习
    AutoLayout And Animation
  • 原文地址:https://www.cnblogs.com/muliu/p/6485542.html
Copyright © 2011-2022 走看看