java的thread类_学习笔记4:java中Thread类的方法小结

稍稍对Thread类中的常用方法简单地做了一次总结,加深点印象。

仍然还是采用继承Thread类的案例来实现创建线程的方式 , 附代码段:

/*

* @auto: 牧羊的伯格女皇

* 2015-10-16

* Thread的常用方法稍微总结:

* 1. start() 启动线程并执行相应的run()方法

* 2. run()  子线程要执行的代码放入run()方法中

* 3. currentThread() 静态的, 调取当前的线程,即返回对当前正在执行的线程对象的引用。

* 4. getName(): 获取此线程的名字

* 5. setName(): 设置此线程的名字

* 6. yield()  : 暂停当前正在执行的线程对象,并执行其他线程。即调用此方法的线程释放对当前CPU的占用权,退让使用权。

* 7. join() :等待该线程终止。即在A线程中调用B线程的join()方法,表示当执行到此方法,A线程停止执行,直至B线程执行完毕,

* A线程再接着join()之后的代码执行

* 8. isAlive() : 判断当前线程是否还存活 ,布尔值,如果是死亡状态返回false

* 9. sleep(long m) 显示的让当前线程睡眠 m 毫秒 记住:被重写的方法不能比父类抛更大的异常。

* 10. 线程通信中的三个方法: wait()  notify()   notifyAll()

*

* 11. 设置线程的优先级:高优先级线程先抢占cpu

*        getProority(): 返回线程优先值

*        setProority(int newProority) : 改变线程的优先级

* */

class SubThread extends Thread {

@Override

public void run() {

for( int i=0; i<=100; i++ ){

try {

// 被重写的方法不能比父类抛出更大的异常 。 所以只能try-catch

Thread.currentThread().sleep( 1000 );

} catch (InterruptedException e) {

e.printStackTrace();

}

System.out.println( Thread.currentThread().getName() +": " + Thread.currentThread().getPriority() +": " + i );

}

}

}

class TestThread{

public static void main(String[] args) {  //隐含的主线程

Thread.currentThread().setName("==========main主线程"); // 给主线程设置线程名称

SubThread st = new SubThread();

st.setName("  子线程");  // 给子线程设置名称

st.setPriority( Thread.MAX_PRIORITY );  // 设置子线程为最高优先级 ,  10   默认为5  最小为 1

st.start();

for( int i=0; i<=100; i++ ){

System.out.println( Thread.currentThread().getName() +": " + Thread.currentThread().getPriority() +": " + i );

//if( i % 10 == 0 ){

//System.out.println("暂停主线程,执行子线程:");

//Thread.currentThread().yield();

//}

/*

if( i == 30 ){

System.out.println("开始暂停主线程,并执行子线程:");

try {

st.join();

System.out.println("等待子线程执行完毕,再接着执行主线程:");

} catch (InterruptedException e) {

e.printStackTrace();

}

}

*/

}

System.out.println("查看子线程st是否还存活:  " + st.isAlive() );

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值