zoukankan      html  css  js  c++  java
  • Java复习 之多线程

    线程是一个程序中的不同路径

    例子1

    只有一条路径

    每一个分支都是一个线程

    实际上在一个时刻内 电脑只能运行一个进程 但是因为cpu运算速度很快 将时间分出来了 所以我们感觉是同时运行

    创建线程的两种方式

    例子1:

    例子2:

    继承自thread

    尽量使用接口

    线程状态切换

    线程控制的基本办法

    sleep/join/yield方法

    测试1

    测试2

    合并到一个main方法

    线程的优先级(并不是全部)

    例子

    例子

    怎样正确的停止

    currentThred拿到当前的线程

    线程同步:

    问题描述

    有3000块钱,你和你老婆都去取钱 你去柜台去取 你老婆去atm机取 同时取钱 先检查是否够钱 最后发现都够 你和你老婆都取了2000块钱 账户修改至1000,然后你却拿了4000? 这是不可能的

    例子

    锁定当前对象

    例子

    面试题

    运行结果是1000

    锁只是锁住方法里的

    生产者 消费者问题

    做馒头和吃馒头

    notify 叫醒wait

    wait和sleep的区别

    wait是object的方法 sleep是thread的方法

    wait

    别的是可以访问的

    sleep是无法访问的

      

  • 相关阅读:
    Web.xml配置详解
    ANNOTATION 注解
    Gradle的使用
    Version Control
    Building Tool(Maven/Gradle)
    HTTP协议
    函数式编程
    injection
    Container
    Building Tool(Maven/Gradle)
  • 原文地址:https://www.cnblogs.com/frankzone/p/9574714.html
Copyright © 2011-2022 走看看