zoukankan      html  css  js  c++  java
  • Java面试题(线程)

      第一次写,写的目的就是为了帮助自己更好地查看自己学的知识,也是对自己平时学习的一些总结。可能有些地方并不是完美,覆盖的知识面不够广泛,请谅解。

    问题一

    线程和进程的区别:

      进程:进程就是任务管理器中那些后台运行程序,进程是程序的实体。

      线程:在一个完整的java程序中,开始执行是从main开始,main就是一个线程,从main开始java会同时启动垃圾回收机制,垃圾回收机制就是另一个线程。除了这两个线程,还可能存在其他线程。通过这些线程一起完成一个程序的执行。

      总结:从上面来看,进程是程序的实体,程序又是有多个线程来执行完成,所以线程是在进程里面的,一个进程可以有多个线程;进程是线程的容器。

               线程至少为两个:a.main;b.垃圾回收机制 ;

    问题二

    创建线程的方式:

      (还有第三种方式,可以在百度自行了解)

      A. 继承Thread类

      继承Thread,然后重写run方法 ,使用时直接new出对象,然后调用start() 方法,线程开启。

      B.实现Runnable接口

        类A实现 Runnable 接口,重写run方法,使用时new出A的对象a,在new出Thread的对象将a作为其参数。再通过Thread

    的对象调用start()开启线程。

     1 public class RunnableDemo 
     2 {
     3     public static void main(String[] args) 
     4     {
     5         A a = new A();
     6         Thread th = new Thread(a); //new Thread(Runnable object);
     7         th.start();                //线程开启
     8 
     9     }    
    10 
    11 }
    12 
    13 class A implements Runnable 
    14 {
    15     public void run() 
    16     {
    17         System.out.println("A is running......");
    18     }
    19 }

    总结:只展示了Runnable的使用方式,因为平时一般选择使用Runnable。因为Thread的使用只能是单一继承,Runnable 可以是实现也可以继承都能存在,没有局限性。

      

  • 相关阅读:
    mysql——查看存储过程和存储函数——概念
    mysql——视图——示例
    mysql——定义——存储过程和函数——概念
    mysql——索引——概念
    mysql——视图——概念
    mysql——触发器——前期整理笔记00
    mysql——使用——存储过程——示例
    mysql——触发器、视图、索引——前期整理笔记00
    mysql——使用——存储函数——示例
    IT职场人生系列之十七:入职(高手篇)
  • 原文地址:https://www.cnblogs.com/xuewuzhijing95hao/p/7142314.html
Copyright © 2011-2022 走看看