多线程编程

Posted 马暄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程编程相关的知识,希望对你有一定的参考价值。

一.进程与线程

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 数据返回类型 方法名(){

}

如下为购票的编程实现:

          

运行如下:

        

以上是关于多线程编程的主要内容,如果未能解决你的问题,请参考以下文章

VB.net多线程编程问题

多线程实践—Python多线程编程

多线程多进程和线程池编程

多线程编程学习笔记——线程池

多线程编程学习笔记——线程同步

python --- 基础多线程编程