多线程编程
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 数据返回类型 方法名(){
}
如下为购票的编程实现:
运行如下:
以上是关于多线程编程的主要内容,如果未能解决你的问题,请参考以下文章