javase线程

来源:互联网 发布:python 迭代器 生成器 编辑:程序博客网 时间:2024/04/29 22:25

定义:一个程序在运行的标志(进程)

一个程序中多个独立运行的流程,每一个独立的流程就是一个线程

特征:多个线程并发执行(线程就是方法)

方法:1、继承java.lang.Thread类

a>新建一个普通类,继承Thread类

b>重写run方法

c>创建线程对象,调用start来启动线程

  2、实现java.lang.Runnable接口

a>新建一个普通类,实现Runable接口

b>重写run方法

c>创建线程对象,把该对象转换成Thread对象,调用start启动线程


运行状态:                        选中进程

初始化 ----->  可运行  ------------->   运行  ------->终止状态 run退出 

状态    状态     <--------------    状态

时间片到期

线程状态:阻塞状态(休眠)  关键词sleep

选中的进程可以休眠指定时间然后进入运行状态,时间片到期后,继续休眠,直到终止状态退出run

多线程问题(数据混乱):当多个线程操作同一个对象的时候,会产生数据混乱问题

解决方法:synchroized(同步锁)

1、使用synchronized修饰产生数据:混乱的方法

2、使用synchronized修饰产生的数据:混乱的代码块

死锁问题:

使用 wait(等待)notify(释放) notifyall(释放所有)(这里不太会)

0 0
原创粉丝点击