java线程 --- 一道迅雷笔试题 (一)
来源:互联网 发布:数据洞察 编辑:程序博客网 时间:2024/04/30 05:05
Java线程,让人爱恨交加。下面通过迅雷公司的笔试题,来谈谈Java线程
一、线程的五种状态
使用Java能方便的写出多线程代码,如果在使用前能了解线程运行时的各种状态,对于理解线程编程会有很大助益
下面从一个示意图来了解一下线程状态:
当一个线程被创建后,调用它的start()方法,使其进入可运行状态,也就说调用完start方法后线程并不会立即运行,而是处于就绪状态。一旦进入运行状态,就会有三种结果:
1、线程执行完毕(死亡)
2、线程由于各种原因,比如说睡眠、运行超时、更高优先级的线程进入、IO等待或join等等,这个时候则暂停运行。
3、在线程运行过程中,调用了某一对象的wait方法,直到其它线程调用此对象的notify或notifyAll 方法,使当前线程恢复可运行状态。可 运行状态指的是java的线程调度器已经通知了操作系统,将这个线程安排到就绪队列,等待CPU执行。
二、线程的概念
通俗的理解:线程不是一行代码,也不是一个方法,它是一个执行序列。所有代码都在这个序列当中一步步执行至到结束。
三、在java中创建线程有两种方法
1、继承Thread 重写run方法
2、实现Runnable接口 实现其中的run 方法
前面三点了解一下先,接下来看迅雷公司的这道笔试题:
有三个线程ID分别是A、B、C,请有多线编程实现,在屏幕上循环打印10次ABCABC…
第一种方法如下:
第二种方法如下:
以上两种方法都未写注释,第一种方法使用线程中的join() 达到目的,第二种方法就是同步对象
对于线程的各种状态、线程间的通信、线程组、线程池等等,下回分解
- java线程 --- 一道迅雷笔试题 (一)
- 一道迅雷笔试题
- 一道迅雷远程笔试题
- 一道java笔试题
- 一道java笔试题
- java一道笔试题
- C++并发实战:面试题2:一道迅雷笔试题
- 迅雷的一道笔试题解析
- 一道外企Java笔试题!
- 一道外企Java笔试题!
- 一道JAVA笔试编程题
- Java一道笔试题 equals
- 谈一道Java笔试题
- 线程按顺序执行(迅雷笔试题)
- 迅雷2014校招笔试题之多线程编程
- 迅雷2014校招笔试题之多线程编程
- 一道笔试题的思考(一)
- 迅雷笔试 + 笔试题收集
- 《Windows内核原理与实现》终于完成了
- 一些C++试题
- 隐形眼镜的评价分析报告
- Windows CE 6.0 安装及相关注意事项2【转】
- 早年的一篇关于80286保护模式的文章
- java线程 --- 一道迅雷笔试题 (一)
- xen live migration
- 股市的两个凡是
- Struts2 中 Result的 Chain Result,Redirect Action Result,Redirect Result 三者之间的区别
- VC6下 try catch 在release下的杯具
- 开放式虚拟机格式OVF
- Django模板中使用css, javascript
- struts2中action跳转到另一个action的方法
- GDE-X进展 战场框架