zoukankan      html  css  js  c++  java
  • javaoop__线程的问题

    1. 线程是 比进程小的 执行单位

       为了实现多线程 有两种方法, 继承 thread 类 或者 实现 runnable 接口

                     两种方式 都需要 把 run() 重写

                      用 start() 调用

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    如果 是 使用 的 runnable 的方式, 就可以解决买票系统中 多个线程 处理 统一资源的问题(避免 的是 同号票的出现

    同步可以解决 资源共享 的安全问题 (解决的是 0号 和负数票的出现)同步代码块和 同步方法

    public void run() {
    while(true){

    synchronized (this) {

    if(ticket>0){
    try{
    Thread.sleep(5000);
    }catch(Exception e){
    e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName()+"卖出第"+ticket--+"张票");
    }else{
    break;
    }
    }
    }
    }

    ++++++++++++++++++++++++++++++++++++++++++++

    public synchronized void SaleTicket(){
    if(ticket>0){
    try{
    Thread.sleep(5000);
    }catch(Exception e){
    e.printStackTrace();
    }
    System.out.println(Thread.currentThread().getName()+"卖出第"+ticket--+"张票");
    }
    }

     +++++++++++++++++++++++++++++++++++++++++++++++++

           2.    线程是 交互 运行的, 是相互的抢夺 CPU 的资源,

    public class MyThread extends Thread {

    int ticket=20;

    public void run() {
    System.out.println("我被调用了");
    while(ticket>0){
    System.out.println(Thread.currentThread().getName()+"卖出第" + ticket-- +"张票");
    }
    }
    }

    MyThread mt1=new MyThread();
    mt1.start();

    ++++++++++++++++++++++++++++++++++++++++++++++++

    3.然后就是 实现 的 runnable()接口

    public class MyThread2 implements Runnable {

    public void run() {
    while(ticket>0){

    System.out.println(Thread.currentThread().getName()+"卖出第"+ticket--+"张票");
    }
    }

    }

    MyThread2 myt1=new MyThread2();
    Thread t1 = new Thread(myt1);
    t1.start();



  • 相关阅读:
    数组相似性计算
    关于GANs原论文里的数学证明
    Python 画个图
    Golang脱坑指南: goroutine(不断更新)
    Java面试细节整理(不断更新)
    从统计看机器学习(二) 多重共线性的一些思考
    从统计看机器学习(一) 一元线性回归
    数据库存储技术基础(一) 字典编码
    JVM内存管理笔记
    R语言rank函数详细解析
  • 原文地址:https://www.cnblogs.com/yyjxxd/p/5478013.html
Copyright © 2011-2022 走看看