thread线程

来源:互联网 发布:网络流行歌曲2017劲爆 编辑:程序博客网 时间:2024/05/19 03:19

thread

线程:是程序执行的最小单位

进程:是cpu分配资源的最小单位

线程的声明:

①extends Thread的类,然后用对象调用start()方法。

②implement Runnable接口,不能直接调用start()(没有)方法去开启线程,必须将该类对象封装成Thread类,new Thread(“实现类对象”)。

用法:①执行十分耗时的操作②每个线程中一定是能够独立运行的操作,即和其他的线程没有依赖。③线程切换时必须执行完一条语句,才能切换。

l  多个线程采用争夺cpu轮换算法(时间片轮转)切换线程,各个线程优先级相同。

线程五态图:


关键词synchronized

用于控制线程同步,可以修饰类,修饰方法,修饰代码块。

格式:synchronized(锁){ 代码块}

锁:一定是引用类型,是多个线程共有的对象或变量

         一般情况下,选用类镜像(.class)。

意义:保证被修饰的代码一次性执行完,不能被其他线程所执行或调用。

synchronized修饰方法时,锁一定是this。

l 方法简介:

Thread.sleep();//代码所在线程沉睡

Thread.currentThread().getName();//获得代码所在线程的名字

Thread.stop();//已经过时,调用可能会出错,不安全

t.join();//所在代码的线程等待t线程执行完后再执行该线程。

 wait()是object类的非静态方法,但是普通对象却不能用,只有锁对象才能调用wait()方法。

1 0
原创粉丝点击