您的位置:首页 > 编程语言 > Java开发

java线程基础复习

2015-06-25 21:56 351 查看
好久没写博客啦,今天先把最近的知识更新一下 接下来慢慢更新前面落下没放上博客的。~

线程复习:

线程和进程的区别:

一个进程可以是一个独立的运行环境,可以被看作一个程序或者一个应用。多个线程可以共享一个进程资源。线程直接共享数据方便,开销小,进程通信开销打,进程消失,线程也随即消失,所以可以说,线程的生命周期<=进程的生命周期。

java中如何定义一个线程:

继承Thread类。




实现Runnable 接口。




线程的优先级:

进程的优先级默认都是5,可以自己设定优先级。最高为10 最小为1。

设置优先级方法

Thread t= new Thread(new Mytask2());

t.setPriority(10);

得到当前进程的名字和优先级

几个线程的方法

sleep:

一般情况使用sleep方法 让出cpu状态。

sleep有异常。sleep 静态方法,即使睡眠,也不释放资源锁。

sleep权限全都让 yield只让给权限比自己高的。

当线程执行到sleep之后,将转到阻塞状态 , 后转为就绪状态。yield执行之后。则转到就绪状态。

join:

当前运行的线程可以调用另一个线程的join方法,当前运行线程将转到阻塞状态,直至另一个线程结束,他才会恢复运行

两个线程操作一个资源 资源不能确定的的。

synchronized:

加上后 变成同步操作 所有函数括号里面的代码越少越好。两种:方法级别和代码块的,建议代码越少越好。大部分同步操作都是放在集合里的。

wait:

会释放资源。

当调用sleep,资源会被锁定,另一个线程无法操作这个资源,wait 是object方法,有异常。让当前的线程等待,并释放锁,另一个线程可操作资源。

并可通过notify()/notifyAll()方法唤醒等待的线程

线程分组操作:可以分组,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: