java毕向东听课笔记16(线程5)
2016-04-18 19:28
253 查看
守护线程:(后台线程)
根据java api ,只说一个方法:setDaemon()的作用是将线程标记为守护线程或用户线程,当正在运行的线程都是守护线程时,java虚拟机退出,特别的,该方法必须在启动线程前调用。
在所有的前台线程都结束后,后台线程自动结束。能看到的线程都是前台线程,比如主线程。
------------------------------------------------
join方法:
等待该线程终止。说白点,就是该线程要cpu执行权。
当A线程执行到了B线程的join方法时,那么A线程就会等待,等B线程都执行完,A才会执行。
join可以用来临时加入线程执行。
---------------------------------------------------
线程中有一个toString方法,覆盖了父类的toString方法,会显示线程的优先级,组等等。
重点说说优先级,优先级代表了抢夺cpu执行权的能力。
默认优先级是5(范围是1~10),可以通过setPriority(int newPriority)方法来更改优先级。又因为1,5,10的优先级最为效果明显,所以对应了Thread.MIN_PRIORITY,Thread.NORM_PRIORITY和Thread.MAX_PRIORITY
-----------------------------------------------------
yield方法
暂停当前正在执行的线程对象,并执行其他线程。
------------------------------------------------------
什么时候用多线程:
当程序中某些代码需要被同时执行,就用线程进行封装。最常用的是用匿名内部类。
如:
根据java api ,只说一个方法:setDaemon()的作用是将线程标记为守护线程或用户线程,当正在运行的线程都是守护线程时,java虚拟机退出,特别的,该方法必须在启动线程前调用。
在所有的前台线程都结束后,后台线程自动结束。能看到的线程都是前台线程,比如主线程。
------------------------------------------------
join方法:
等待该线程终止。说白点,就是该线程要cpu执行权。
当A线程执行到了B线程的join方法时,那么A线程就会等待,等B线程都执行完,A才会执行。
join可以用来临时加入线程执行。
---------------------------------------------------
线程中有一个toString方法,覆盖了父类的toString方法,会显示线程的优先级,组等等。
重点说说优先级,优先级代表了抢夺cpu执行权的能力。
默认优先级是5(范围是1~10),可以通过setPriority(int newPriority)方法来更改优先级。又因为1,5,10的优先级最为效果明显,所以对应了Thread.MIN_PRIORITY,Thread.NORM_PRIORITY和Thread.MAX_PRIORITY
-----------------------------------------------------
yield方法
暂停当前正在执行的线程对象,并执行其他线程。
------------------------------------------------------
什么时候用多线程:
当程序中某些代码需要被同时执行,就用线程进行封装。最常用的是用匿名内部类。
如:
class ThreadTest{ public static void main(String[] args){ new Thread(){ public void run(){ for(int x = 0;x<100;x++){ System.out.println(Thread.currentThread().getName()+"...."+x); } } }.start(); Runnable r = new Runnable(){ public void run(){ for(int x=0;x<100;x++) System.out.println(Thread.currentThread().getName()+"..."+x); } }; new Thread(r).start(); } }
相关文章推荐
- java加载驱动
- java加载驱动
- spring aop 拦截业务方法,实现权限控制
- 【JUC】JDK1.8源码分析之CyclicBarrier(四)
- java中的List
- ECLIPSE启动参数
- java中的|与||,&与&&的区别,与、或,非、异或、位运算
- ECLIPSE 字体设置
- SPRING的事务传播特性
- Mac OS 上设置 JAVA_HOME
- SPRING的事务传播特性
- Java反射的基础使用
- JAVAWEB JSP对象
- javaweb中如何将java.util.Date类型转换成java.sql.Date
- org.springframework.web.servlet.view.ContentNegotiatingViewResolver 配置
- solr入门之edismax权重排序使用之Java代码实现自定义权重
- Spring MVC Controller中解析GET方式的中文参数会乱码的问题
- springmvc 后端返回到前端乱码
- 使用maven编译dubbo,导入eclipse
- java中的I/O