美文网首页
多线程机制

多线程机制

作者: exmexm | 来源:发表于2017-04-25 16:34 被阅读0次

关于线程的基本概念:
线程是一个程序内部的顺序控制流。
线程和进程的区别:
每个进程都有独立的代码和数据空间(进程上下文),进程的切换具有较大的花销。
线程可以看成是轻量级的进程,同一类线程共享代码和数据空间,每个线程都有独立的运行栈和程序计数器,线程切换的开销小。
多进程:在操作系统中能同时运行多个任务。
多线程:在同一个应用程序中有多个顺序流同时执行。

java的线程时通过java.lang.thread类来实现的。
VM启动时会有一个主方法(public static void main(){})所定义的线程。。
每个线程都通过某个特定Thread对象对应的方法run()来完成其任务的。
run()方法称为线程体。
通过调用Thread类的start()方法来启动一个线程。

可以有两种方法创建新的线程:
注:能够使用接口就用接口。
第一种:
定义线程类实现Runnable接口
Thread myThread = new Thread(target) //target为Runnable接口类型
Runnable中只有一个方法:
public void run();//用以定义线程的运行体
使用Runnable接口可以为多个线程提供共享的数据。
在实现Runnable接口的类的run方法中可以使用Thread的静态方法:
public static Thread currentThread()获取当前线程的引用。


public class TestThread1 {

    public static void main(String[] args) {
        Thread r = new Thread(new Runner1());
        r.start();
        for( int i = 0; i < 100; i++) {
            System.out.println("主方法的输出: "+ i);
        }
    }

}

class Runner1 implements Runnable {

    @Override
    public void run() {
        for(int i = 0; i < 100; i++) {
            System.out.println("线程的输出: " +i);
        }
    }
    
}

第二种:
可以定义一个Thread的子类并重写其run方法
然后生成该类的对象


public class TestThread2 {

    public static void main(String[] args) {
        MyThread my = new MyThread();
        my.start();
        
        for(int i = 0; i < 100; i++) {
            System.out.println("主方法输出: " + i);
        }
    }
}


class MyThread extends Thread {
    public void run() {
        for(int i = 0; i < 100; i++) {
            System.out.println("我的线程输出: "+i);
        }
    }
}

相关文章

  • 多线程系列第(一)篇---基本概念

    多线程概念 多线程就是一个进程中多个任务“同时”执行Java中的多线程是一种抢占式的机制而不是分时机制抢占式机制指...

  • Android多线程消息处理机制

    Android多线程消息处理机制(一) Looper、Thread专题 Android多线程消息处理机制(二) L...

  • iOS面试-基础

    [toc] Runloop AutoReleasePool 多线程 响应者链 消息响应机制 消息转发机制 iOS内...

  • Python 3 多线程编程

    本文主要基于python 3.5实现多线程编程 1. 创建多线程 2. 多线程间的同步,lock机制 3. que...

  • java 多线程总结篇4——锁机制

    在开发Java多线程应用程序中,各个线程之间由于要共享资源,必须用到锁机制。Java提供了多种多线程锁机制的实现方...

  • JAVA锁机制

    在开发Java多线程应用程序中,各个线程之间由于要共享资源,必须用到锁机制。Java提供了多种多线程锁机制的实现方...

  • Android Handler学习总结

    什么是handlerhandler是Android中的消息传递机制也是多线程异步通信机制。handler 通过se...

  • Android 面试准备

    Android的系统架构 Android Handler机制 Android 多线程-----AsyncTask详...

  • iOS多线程--并行开发二

    接上文iOS多线程--并行开发一 4、线程同步 说到多线程就不得不提多线程中的锁机制,多线程操作过程中往往多个线程...

  • 进程与线程

    Java编程属于一种多线程的运行机制,这种多线程的编程机制在早起出现的时候绝对是一个编程语言的亮点所在,但是随着后...

网友评论

      本文标题:多线程机制

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