Thread相关基础
来源:互联网 发布:电脑没有usb打印端口 编辑:程序博客网 时间:2024/04/28 13:54
1、Thread的状态:
线程大概可分为5个状态,
1.创建状态(NEW),当Thread被New出来,还未调用start()方法之前;
2.就绪状态,当Thread对象调用start()方法之后;
3.运行状态(RUNNABLE),当Thread对象调用start()方法开启线程并在新线程中调用执行run()方法时的状态;
4.阻塞状态(BLOCK,WAITING,TIME-WAITING),当Thread调用sleep,wait等方法或者等待某个线程或函数释放锁;
5.死亡状态,当Thread运行结束或抛出异常之后;
2、start()和run()区别
start()只是启动一个新线程,然后在新线程中调用run方法,此时的线程就是处于运行状态了,
而run()只是在当前线程中调用run()函数。
3、Thread与Runnable的区别
Thread可以理解为线程对象,Runnable理解为任务对象。Runnable并不能开启一个新的线程,只能描述一个在线程中执行的任务,Thread才能开启一个新的线程。
4、实现多线程的三种方法
a)继承Thread,重新run方法
b)新建Runnable对象并将其传入Thread的构造方法
c)新建Runnable对象并将其代入线程池类
5、sleep与wait的区别以及对CPU占用率的影响
sleep是Thread类的方法,wait是Object类的方法
所有与锁相关的方法都定义在Object类中,所以如果线程当前是拥有对象锁的,sleep方法并不会释放对象锁,wait会释放对象锁
调用sleep方法OS对其的监控状态依然会保持,当指定时间过后又会自动恢复执行,调用wait方法会让该对象进入等待锁定池,只有其他线程执行notify或者notify all 才会重新进入对象锁定池准备获取对象进入运行状态
两种方法暂停线程都表示他们暂时不需要CPU执行时间,OS会将CPU执行时间分配给其他线程
- Thread相关基础
- thread相关——基础1
- thread相关
- Thread 基础
- Thread基础
- POSIX Thread相关
- Linux Thread相关
- C# Thread 相关 笔记
- Thread相关属性
- SDL Thread 相关API
- Thread相关方法介绍
- Thread类相关问题
- apue thread posix thread posix线程相关
- thread线程基础01
- java基础Thread
- RT-Thread基础一
- 多线程Multi-Thread 基础
- Java基础----Thread操作
- maven +jfinal +bettl 整合
- 题意就是让我们找一个数只能有三个约数,很明显素数有两个,那么容易找到规律,这个数只能有着三个约数。1和自己还有sqrt(n)。sqrt(n)自然要是素数
- linux usb枚举过程分析【host】
- javax.servlet.ServletException 找不到
- Linux系统进程相关的命令
- Thread相关基础
- 有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。
- DataX的部署与安装
- [linux] unix domain socket 例子
- iOS 让Xcode打印汉字, 而不是UTF8编码
- N的整数划分
- Centos搭建Ruby环境
- Android demo 项目-汇总-201611-03期
- Unity3d中对象池(ObjectPool)的概念和用法