美文网首页程序员
Java中的多线程

Java中的多线程

作者: Mr_4869 | 来源:发表于2017-10-30 20:42 被阅读0次

    1、进程、线程的概念及其区别

    首先,先给出进程的概念,进程指运行中的应用程序,每个进程都有自己独立的内存空间。一个应用程序可以同时启动多个进程,如:每次执行JDK的java.exe程序,就启动了一个独立的java虚拟机进程;而线程指的是进程中的一个执行流程,一个进程可以由多个线程组成,即一个进程中可以同时运行多个不同的线程,它们分别执行不同的任务。

    两者之间的区别:

    n每个进程都需要操作系统为其分配独立的内存地址空间

    n同一进程中的所有线程在同一块地址空间中工作,这些线程可以共享 同一块内存和系统资源,比如共享一个对象或者共享已经打开的一个文件。

    2、线程的创建和启动

    首先,先给大家介绍创建线程的方法。创建线程有两种方法,(1)定义一个Thread类的子类,覆盖Thread类的run()方法,然后创建该子类的实例;(2)定义一个实现Runnable接口的类,实现它的run()方法,然后将这个类的实例作为Thread的构造方法的参数,创建Thread类的实例。

    线程的启动是通过调用线程对象的start()方法启动线程。比如,

    MyThread t = new MyThread();

    t.start();

    下面为大家举例说明两种不同的创建线程的方法

    1、定义一个Thread类的子类

    代码如下:

    运行结果如下:

    2、定义一个实现Runnable接口的类

    代码如下:

    运行结果如下:

    3、设置线程名

    根据线程的两种不同的创建方式,设置线程名也有两种不同的方式。下面我们分类来分析。

    1、继承Thread的子类实现线程

    在子类的构造方法中,调用父类构造方法super(name)即可,如下:

    class MyThread extendsThread{

    public MyThead(String name){

    super(name);

    }

    }

    然后在main方法中,可以利用循环语句,如下:

    for(i=0;i<5;i++){

    new MyThread(“线程”+i).start();

    }

    即可为线程设置名称

    2、使用Runnable实现

    这个更加简单,在构造Thread时,直接将接口对象和线程名称字符串传入Thread的构造方法即可实现,代码如下:

    Thread t= new Thread(myRunnable,”线程”+i);

    4、总结

    最后给大家总结下多线程的优势:

    1、多线程编程简单,效率高

    能直接共享数据和资源(多进程不能)

    2、适合于开发服务程序

    如Web服务,聊天服务等

    3、适合于开发有多种交互接口的程序

    如聊天程序的客户端,网络下载工具

    4、适合于有人机交互又有计算量的程序

    如字处理程序(Word,Excel)

    以上就是我对线程的概念、线程的创建启动和如何设置线程名的理解,希望对大家有所帮助。

    相关文章

      网友评论

        本文标题:Java中的多线程

        本文链接:https://www.haomeiwen.com/subject/ndvmpxtx.html