Java线程:线程的调度 休眠
Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。
这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。
线程休眠的目的是使线程让出CPU的最简单的做法之一,线程休眠时候,会将CPU资源交给其他线程,以便能轮换执行,当休眠一定时间后,线程会苏醒,进入准备状态等待执行。
线程休眠的方法是Thread.sleep(long millis) 和Thread.sleep(long millis, int nanos) ,均为静态方法,那调用sleep休眠的哪个线程呢?简单说,哪个线程调用sleep,就休眠哪个线程。
/**
* Java线程:线程的调度-休眠
*
* @author leizhimin 2009-11-4 9:02:40
*/
public
class
Test {
public
static
void
main(String[] args) {
Thread t1 = new
MyThread1();
Thread t2 = new
Thread(new
MyRunnable());
t1.start();
t2.start();
}
}
class
MyThread1 extends
Thread {
public
void
run() {
for
(int
i = 0; i < 3; i++) {
System.out.println("线程1第"
+ i + "次执行!"
);
try
{
&n
相关文档:
这是服务窗口类,模拟四个线程异步运行
public class TicketWindow {
public static void main(String args[]) {
Ticket ticket = new Ticket();
Thread w1 = new Thread(ticket, "1号售票窗口");
Thread w2 = new Thread(ticket, "2号售票窗口");
Thread w3 ......
尚学堂学习java感受
【学员故事】来自尚学堂真人真事(www.bjsxt.com)
本文作者,成,是一个幽默的学员,简单概要一下他的情况,他是数学系的,自尚学堂毕业后曾就业于文思(亚马逊)项目,现就职于亚信公司,每一次跳跃都比以前更高!
从大学毕业到再学习再到工作,刚好 ......
/*
一共3个移位运算符,左移位<<,右移位>>和无符号移位>>>。左移位<<在低位处补0。右移位>>若值为正则在高位插入0,若值为负则在高位插入1。无符号右移位>>>无论正负都在高位处插入0。
非运算符~
&对两个整型操作数中对应位执行布尔代数,两个位都为1时输出1,否则0。
......
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFound ......
SCJP5学习笔记
线程交互是比较复杂的问题,SCJP要求不很基础:给定一个场景,编写代码来恰当使用等待、通知和通知所有线程。
一、线程交互的基础知识
SCJP所要求的线程交互知识点需要从java.lang.Object
的类的三个方法来学习:
void notify()
  ......