java多线程快速入门(一)

1、什么是进程

  比如:QQ、QQ游戏、eclipse都是进程,可以通过任务管理器查看进程

2、进程和线程区别

  线程是进程的一部分,一个进程可以包含多个线程,一个线程只能属于一个进程

  进程是所有线程的集合,一个线程是进程中的一条执行路径

3、多线程的好处

  多线程的好处就是提高程序的效率

4、多线程的应用场景

  迅雷下载视频、QQ同时和多人聊天、批量发送短信,批量上传资源

5、使用继承Thread类还是使用实现Runnable接口好?

  使用实现Runnable接口好,原因是接口可以实现多个,类只能继承一个,实现了Runnable接口还可以继承其它的类,继承了Thread类就不能再继承其它的类,一般情况下使用线程池方便管理,避免浪费资源。

6、启动线程是使用start方法还是run方法?

  run方法相当于调用重写后的run方法,而不是去开启一个线程

7、多线程创建方式

  继承Thread、实现Runnable接口、匿名内部类

8、什么是java内存模型

  就是多个线程访问同一变量的时候保证一致性

9、使用wait和sleep区别

  wait:调用wait方法,当前线程释放锁,并且必须要调用notify才能重新变为阻塞

  sleep:调用sleep不会释放当前锁,当前线程会等待sleep时间到达,继续执行

10、Lock与synchronized的区别

  Lock锁是JDK1.5之后推出的并发包里面的关键字,Lock锁可以人为的释放锁(相当于汽车中的手动挡)

  synchronized当线程执行完毕或者抛出异常的话,锁自动释放(相当于汽车中的自动挡)

原文地址:https://www.cnblogs.com/jiefu/p/10013508.html