1.线程与进程的关系:
进程:执行中的程序,
线程:每一个程序内都有一执行顺序,执行路径,或者称为控制单元,而线程是一个独立的控制单元。
★★ ★2.创建线程的方法一:
1.继承Thread,覆盖run方法 ,把要执行的代码存于run方法中,让线程执行
2.调用线程的start方法,启动线程并执行run方法。
如果用run方法则只是用原来的线程运行了run方法
★★★3.创建线程的方法二:
1.实现Runnable接口 ,覆盖run方法,把要执行的代码存于run方法中,
2.建立Thread对象,要建立几个线程就建立几个对象
3.再把Runnable 的子对象传到Thread()的参数中
4.最后运行start().
★4.线程的状态:
被创建
运行
阻塞
冻结
消亡
5.线程的不安全,所以要加锁,synchronized
同步代码块,同步函数
同步函数的锁是this
静态同步函数的锁是Class对象
★★6.wait sleep yield的区别
wait 可指定时间也可不指定
sleep必须指定时间
yield不能指定时间
wait 会释放执行权,且释放锁
sleep会释放执行权,但不释放锁
进程:执行中的程序,
线程:每一个程序内都有一执行顺序,执行路径,或者称为控制单元,而线程是一个独立的控制单元。
★★ ★2.创建线程的方法一:
1.继承Thread,覆盖run方法 ,把要执行的代码存于run方法中,让线程执行
2.调用线程的start方法,启动线程并执行run方法。
如果用run方法则只是用原来的线程运行了run方法
★★★3.创建线程的方法二:
1.实现Runnable接口 ,覆盖run方法,把要执行的代码存于run方法中,
2.建立Thread对象,要建立几个线程就建立几个对象
3.再把Runnable 的子对象传到Thread()的参数中
4.最后运行start().
★4.线程的状态:
被创建
运行
阻塞
冻结
消亡
5.线程的不安全,所以要加锁,synchronized
同步代码块,同步函数
同步函数的锁是this
静态同步函数的锁是Class对象
★★6.wait sleep yield的区别
wait 可指定时间也可不指定
sleep必须指定时间
yield不能指定时间
wait 会释放执行权,且释放锁
sleep会释放执行权,但不释放锁