多线程常见的笔/面试总结
1、多线程是计算机CPU实行的最小单元
2、创建多线程有两种方式
1)、继承Thread 类然后重写run()方法
2)、实现Runnable接口(实际应用中用的比较多)
3、wait()和sleep()的区别:
wait()会释放当前线程锁,仅在notify调用时线程被唤醒
sleep()不会释放当前线程锁,且sleep()使线程进入睡眠状态,过了指定的时间自动执行线程
4、线程同步的两种方法
1)、使用wait()、和notify()
2)、使用关键字Synchronized 来修饰,它有三种写法
方式1、作用在方法上
Synchronized void function(){
.........
}
方式2、作用在代码块上
void function(){
Synchronized{....}
}
方式3、作用在变量上
private Object obj = new Object ();
Synchronized(obj){....}
5、在多线程中,启动时start()方法,在底层,start()调用run()的方法,所以线程的启动是start()而不是run()
------最佳解决方案--------------------哦,这些是基础,其实建创线程 还有Callable接口,这个是可以返回值的。
------其他解决方案--------------------恩,拿最近的面试题,简单的做了总结,这个还真不知道,谢谢