Java线程

Java线程有两种:Daemon守护线程和User用户线程

用户线程:Java虚拟机在所有非守护线程都结束后自动离开

守护线程:服务于用户线程,只有等所有的用户线程结束后,Java虚拟机才退出

总之,必须等所有的Non-daemon线程都运行结束了,只剩下daemon的时候,JVM才会停下来。Main主程序是Non-daemon 线程

setDaemon(boolean on) 方法可以方便的设置线程模式,此方法只能在线程启动之前调用。另外,若在Daemon中新建线程则不用设置即为Daemon线程,User线程一样。

 

创建线程:1、继承Thread类;2、实现Runnable接口。

设置优先级:setPriority(1~10);默认为5;休眠:sleep(long millis);唤醒:interrupt();让步:yield()

 

线程同步问题:

1、同步块

synchronized(someobject){    代码段    } someobject是一个监视点对象。

2、同步方法

synchronized void f(){ 代码 }

java 线程同步问题之银行存取款问题

Java线程同步问题之警察抓小偷

java 线程同步问题之生产者消费者问题

 

你可能感兴趣的:(Java线程)