Java复习 之多线程
Posted Blueburble
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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是无法访问的
以上是关于Java复习 之多线程的主要内容,如果未能解决你的问题,请参考以下文章