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复习 之多线程的主要内容,如果未能解决你的问题,请参考以下文章

Java 高级开发技术学习笔记之多线程

Java 高级开发技术学习笔记之多线程

Java之多线程

java线程复习1(线程创建)

java复习-线程让步

Java复习-控制线程