多线程编程

一.进程与线程

1.进程:正在运行的程序。从windows角度讲,进程是含有内存和资源并安置线程的地方。

   线程:指在程序中的执行流,每个线程都有自己的专有寄存器(栈指针,程序计数器),但代码区是共享的,即不同的线程可以执行形同的方法。

2.进程与线程的联系

   一个线程只能属于一个进程,而一个进程可以有多个线程

  系统的资源分配给进程,同一进程的所有线程共享该进程的所有资源

3.多线程

   指程序中包含多个执行流,一个程序有多个不同的线程执行不同的任务。

二.创建线程的两种方法

1.Thread

  public class MyThread extends Thread{

       public void run(){

        }

}

调用:   MyThread mr = new MyThread();

              mr.start();

2.Runnable

   public class MyThread implements Runnable{

        public void run(){

}

}

调用:   MyThread mr = new MyThread();

             Thread thread = new Thread(mr);

             thread.start();

三.线程同步

    线程是独立运行的程序,线程之间有可能共用共享同一资源,如内存、文件、数据库

    多线程同时共享统一资源时,可能会引起冲突,所以引入线程的同步机制,即各线程之间独立运行,先来后到

   同步方法:

   访问修饰符 synchronized static 数据返回类型 方法名(){

}

如下为购票的编程实现:

          

运行如下:

        

原文地址:https://www.cnblogs.com/mauan/p/7123243.html