关于多线程的笔记总结
2014-02-21 19:40
295 查看
多线程
1.
main()方法就是一个线程
2.
多线程中会经常用到匿名内部类,在写匿名内部类的时候,调用的变量应该是final类型的!
3.
**.join() //等待线程终止。到底怎么用????????????????
4.
java中,线程分为两类:用户线程和守护线程
(线程).setDeamon(true)方法定义守护线程
一般情况下,我们都在主方法中调用其他方法,这是主方法应该作为主线程,守护线程的生命周期应该同主线程的生命周期一致,所以当主线程结束时,守护线程也随之结束,我们定义守护线程的目的就是不让在主线程结束后守护线程还在执行,那样的程序就不是我们想要的了
5.
线程和进程的区别:
线程是共享资源的,线程是资源的小分支
进程是独享资源的
6.
线程的同步
例:
final Counter con1=new Counter();
//创建两个同步线程
Thread th1=new Thread(new Runnable(){
@Override
public void run(){
synchronized(con1){
//设置为同步
System.out.println("现在c值为:" +con1.to());
con1.increment();
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
}
System.out.println("++后c的值是:"+con1.to());
}
}
});
Thread th2=new Thread(new Runnable(){
@Override
public void run(){
synchronized(con1){
//设置为同步
con1.decrement();
try {
Thread.sleep(500);
} catch (InterruptedException ex) {
}
}
}
});
我们还可以在创建方法的时候把方法设置为同步方法。那样,当一个方法被访问的时候,只有这个方法执行结束,其他同步方法才能被访问、执行
例:
1.
main()方法就是一个线程
2.
多线程中会经常用到匿名内部类,在写匿名内部类的时候,调用的变量应该是final类型的!
3.
**.join() //等待线程终止。到底怎么用????????????????
4.
java中,线程分为两类:用户线程和守护线程
(线程).setDeamon(true)方法定义守护线程
一般情况下,我们都在主方法中调用其他方法,这是主方法应该作为主线程,守护线程的生命周期应该同主线程的生命周期一致,所以当主线程结束时,守护线程也随之结束,我们定义守护线程的目的就是不让在主线程结束后守护线程还在执行,那样的程序就不是我们想要的了
5.
线程和进程的区别:
线程是共享资源的,线程是资源的小分支
进程是独享资源的
6.
线程的同步
例:
final Counter con1=new Counter();
//创建两个同步线程
Thread th1=new Thread(new Runnable(){
@Override
public void run(){
synchronized(con1){
//设置为同步
System.out.println("现在c值为:" +con1.to());
con1.increment();
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
}
System.out.println("++后c的值是:"+con1.to());
}
}
});
Thread th2=new Thread(new Runnable(){
@Override
public void run(){
synchronized(con1){
//设置为同步
con1.decrement();
try {
Thread.sleep(500);
} catch (InterruptedException ex) {
}
}
}
});
我们还可以在创建方法的时候把方法设置为同步方法。那样,当一个方法被访问的时候,只有这个方法执行结束,其他同步方法才能被访问、执行
例:
相关文章推荐
- Java学习笔记34:java多线程总结
- JAVA多线程笔记总结(上)
- 关于多线程学习总结(一) 基本概念了解
- Android笔记-ListView总结(多选框ListViiew,动态加载,多线程更新ListView中的进度条)
- java笔记--关于多线程状态的理解和应用
- 关于多线程Thread 与 Runnable 的一点总结
- 《Java 多线程编程核心技术》学习笔记及总结
- spark菜鸟笔记-关于spark安装过程中遇到的问题总结
- Linux多线程环境下 关于进程线程终止函数总结
- 深度学习笔记之关于总结、展望、参考文献和Deep Learning学习资源(五)
- 关于android中多线程相关遇到的问题总结
- java多线程总结笔记3——Callable和Future
- Java多线程编程总结笔记——二概念与原理
- [BigData]关于Hadoop学习笔记第四天(PPT总结)(一)
- Java多线程编程总结笔记——六线程的同步与锁
- Android笔记-ListView总结(多选框ListViiew,动态加载,多线程更新ListView中的进度条)
- 【Java多线程编程核心技术】4.Lock的使用-笔记总结
- 前端学习笔记17/08/06——关于CSS学习的一些总结
- Java多线程笔记总结
- Symbian学习笔记(6):关于多线程与活动对象