多线程入门

什么是线程?

  线程就是正在独立运行的一条执行路径,一个独立的执行单元。

什么是进程

  进程就是正在运行的程序,它是线程的集合。

代码的执行顺序靠那个线程?

  在进程中,一定有一个线程,这个线程就是主线程。(比如Java中的main方法)

使用多线程有什么好处?

  多线程的好处提高程序的效率使用多线程时,每个线程互不影响,因为每个线程都在独立运行。

多线程的应用场景:

  多线程下载、QQ、爬虫、前段开发ajax(异步上传),分布式job(需要同时一个执行多个任务调度),等。

有哪些方式可以创建多线程?

  ①使用继承Thread类方式,重写run方法。

       ②使用实现Runnable接口方式。

  ③使用匿名内部类方式。

  ④callable

  ⑤使用线程池创建线程。

什么是同步什么是异步?

  ①同步(单线程):代码从上往下进行执行。

  ②异步(多线程):开启多线程后,代码不会从上往下进行执行。

使用继承范式创建线程好还是实现Runnable接口创建线程好 ?

  使用Runnable接口创建线程的方式更好,因为开发都是以面向接口编程,如果使用继承方式那么将不能继承其他类。

常用线程API方法:

  ①start():启动线程。

  ②current():获取当前线程对象。

  ③getID():获取当前线程ID。Thread-编号,该编号从0开始。

  ④getName():获取当前线程名称。

  ⑤sleep(long mill):休眠线程。

  ⑥stop:停止线程。

  ⑦Thread:分配一个新的Thread对象。

  ⑧Thread(Runnable r):分配一个新的Thread对象,具有指定的name正如其名。

  ⑨Thread(Runnable r):分配一个新的Thread对象。

  ⑩Thread(Runnable r,Runnable r):分配一个新的Thread对象,具有指定的name正如其名。

什么是守护线程?

    Java有两种线程,一种是用户线程,另一种是守护线程。

    用户线程是用户自定义创建的线程,主线程停止,用户线程不会停止

   护线程进程不存在或主线程停止,守护线程也停止

   使用setDaemon(true)方法设置为守护线程。

 多线程的几种状态:

  ①新建状态

  ②准备状态

  ③运行状态

  ④休眠状态

  ⑤ 停止状态

Join方法作用:

  join()方法是让其他线程变为等待,

  t1.join()  //让其他线程变为等待,直到线程t1执行完毕才释放。

原文地址:https://www.cnblogs.com/gujian2/p/12168261.html