Java·多线程·并发学习笔记


  • Friday, Jan 6, 2017

进程和线程

  • 进程(Process)是指一次程序的运行。对于单核CPU来说,同一时间只能执行一个进程。单核CPU实现多任务的方式一般是每个进程轮流执行,任务1执行0.01秒,然后切换到任务2。。。多核CPU则可以真正意义上实现多个任务并发执行,但当任务数大于CPU核数时,也是采取轮流执行的方法。进程之间是相互独立的。
  • 线程(Thread)则是存在于进程之内,一个进程内可以拥有多个线程,多个线程共享该进程的一切资源。
  • 协程(Coroutine),埋个坑。在较新的语言中,比如go,对协程应用较广。

非线程安全和线程安全

  • 非线程安全指多个线程对同一个资源进行操作时,可能导致值不同步的情况。
  • 线程安全指不会出现非线程安全问题。。。 - . -

Java中的Thread

一、 多线程的实现方法

  1. 继承Thread,重写run方法。

    public class MyThread extends Thread{
    	
         @Override
         public void run() {
                
         }
     }
        
     执行线程
     new MyThread().start();
    
  2. 实现Runnable,传给Thread构造

     public class MyRunnable implements Runnable{
         public void run() {
             //执行内容
         }
     }
        
     调用方法
     new Thread(new MyRunnable()).start();
        
     或者使用jdk1.8的lambda表达式:
     new Thread(()->{
         //执行内容
     }).start();
    

二、线程的停止

  1. 线程停止的方法


本文地址