Java 学习笔记 (5) - 线程 Thread

本文介绍Java中线程的基本概念,包括线程的状态、声明方法及常用控制方法,并提供了一个简单的线程示例。

 Java中声明一个新的线程(Thread)就相当于设置了一个虚拟CPU(Vitual-CPU)
JVM和操作系统采用相应的线程调度策略来实现多个线程对CPU的轮换共享
Java中线程有四个状态born,dead,runnable和pause
当新声明一个线程时,就是他的born状态
执行stop();后线程将不可继续即dead
runable线程是start();后的线程包括running的线程和在队列中ready的线程
runable可以经过以下几个方法到pause状态
suspend(); //挂起   resume();转到runnable状态
wait();  //等待       notify();转到runnable状态
sleep(); // 睡眠      睡眠时间到(sleep time-out)后自动转入runnable状态
当线程遇到IO阻塞(block)时自动转入pause状态  IO完成后自动转入runnable状态

声明线程的方法:
Thread t1=new Thead(object Name);
其中对象objectName所在的类实现Runnable接口
并重写run();方法
运行线程ti.start(); 就调用了object Name的run();方法

控制线程的几个常用方法:
start();    //运行线程
stop();    //终止线程
suspend();           //挂起线程  (不提倡的 deprecated)
resume();            //恢复线程    (不提倡的 deprecated)
Thread.sleep();   //static方法 睡眠当前线程
join();        //插入,暂停当前线程直到插入线程运行完毕
Thread.yield();   //static方法 当前线程让出CPU供其他线程运行

Thread.curruntThread();     //static method 当前线程
getName();         //获得线程名称
getThreadGroup();        //获得所属线程组
getPriorty();       //获得线程优先级  1-10   默认5

程序示例

class ThreadTest implements Runnable {
    
public static void main(String[] args) {
        ThreadTest s1
=new ThreadTest();  
        Thread t1
=new Thread(s1);     //Declare a thread
        Thread t2
=new Thread(s1);
        t1.start();
        t2.start();
    }

    
public void run() {
        
while(true){
            
try {

                Thread.sleep(
1000);    //Sleep 1000 ms
                System.out.println(
"Test Thread!");
            }

                
catch(InterruptedException e) {};
        }

    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值