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是无法访问的

      

  • 相关阅读:
    kill eclipse
    C语言之表达式运算整体提升
    查找函数对比:findall,search,match
    Linux backtrace()
    git本地协同
    git 撤销push到服务器的代码
    gtest
    C陷阱篇之enum默认长度
    程序员中文开发者手册
    C语言错题分析
  • 原文地址:https://www.cnblogs.com/frankzone/p/9574714.html
Copyright © 2011-2022 走看看