1)wait() notify() sleep()
sleep是Thread类的函数,wait和notify是Object的函数。
sleep的时候keep对象锁,wait的时候release 对象锁。
sleep时监控状态依然保持。wait进入等待池,只有针对该对象发出了notify才会进入对象锁池。
Sleep时间过了就会恢复运行,wait后等到notify了,也不一定是立即运行。
Wait和notify是非static函数,sleep是Thread类的static函数。
2)stop() destroy() suspend()
都是Thread类的函数,都不推荐使用。
stop放弃了所有的lock,会使得对象处于一种不连贯状态。
destroy的时候如果还keep了某些资源的lock,那就死定了
suspend会继续持有所有的lock,容易发生死锁。
3)创建线程:
继承Thread类,override它的abstract函数run
实现Runnable接口,写run函数。
4)让线程跑起来:
start()函数
5)例子:四个线程,两个inc,两个dec,没有顺序:
public class ThreadTest {
private int j;
public static void main(String[] args) {
ThreadTest tt=new ThreadTest();
Inc inc= tt.new Inc();
Dec dec= tt.new Dec();
for(int i=0;i<2;i++){
Thread t=new Thread(inc);
t.start();
t=new Thread(dec);
t.start();
}
}
private synchronized void inc(){
j++;
System.out.println(Thread.currentThread().getName()
+"-inc:"+j);
}
private synchronized void dec(){
j--;
System.out.println(Thread.currentThread().getName()
+"-dec:"+j);
}
class Inc implements Runnable{
public void run() {
for(int i=0;i<100;i++){
inc();
}
}
}
class Dec implements Runnable{
public void run() {
for(int i=0;i<100;i++){
dec();
}
}
}
分享到:
相关推荐
Java多线程相关知识总结
该文档总结了Java多线程相关的知识点,分享给大家,简单易懂!
java 多线程 知识相关,主要是介绍 java 多线程相关的知识
对Java线程总体知识的梳理,主要描述了关键知识点,可以梳理一下思路!
Java多线程知识点整理.pdf
java多线程基础知识
JAVA多线程编程技术PDF,是最经典的那个版本,多线程的所有知识点完爆读者
《Java多线程编程核心技术》建议猿友们读两遍,因为其写得没有那么抽象,第一遍有些概念不是很理解,可以先跳过并记录起来,第一遍阅读的目的主要是了解整个架构。第二遍再慢慢品味,并贯穿全部是指点来思考,并将...
Java 高并发编程相关知识, 接下来将阅读该书, 并且进行比较详细的总结, 好记性不如烂笔头, 加油。 Java 多线程编程实战指南。
java多线程,知识点
java多线程并发编程知识导图笔记.xmind
主要是结合课本和视频学习了一下java多线程的用法,这个专利适合于初学者学习多线程知识。
java多线程基础知识练习题,选择题及代码题。适合初学者
Java线程的知识点总结。doc
线程的概念及简单实现博客源代码。想要学习更多有关于Java多线程的知识,请关注博客http://blog.csdn.net/yegongheng
《Java多线程编程实战指南(核心篇)》以基本概念、原理与方法为主线,辅以丰富的实战案例和生活化实例,并从Java虚拟机、操作系统和硬件多个层次与角度出发,循序渐进、系统地介绍Java平台下的多线程编程核心技术及...
Java多线程编程知识.pdf
这个是关于Java多线程方面的技术,就是多个线程发送请求,从互联网上下载图片资源,通过这个案例可以知道Java中的多线程的基础知识
Java多线程知识,龙果学院,适合中级Java开发,分小节讲解
Java多线程--多线程知识点总结和企业真题