首页 > 编程语言 > 详细

Java多线程与并发——进程与线程

时间:2016-01-17 18:48:15      阅读:255      评论:0      收藏:0      [点我收藏+]

1.什么是进程

程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。

进程是一个具有一定独立功能的程序,一个实体,每一个进程都有它自己的地址空间。

2.进程的状态

进程执行时的间断性,决定了进程可能具有多种状态。事实上,运行中的进程具有以下三种基本状态。

1)就绪状态

2)运行状态

3)阻塞状态

技术分享

 

3.线程

线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干程序又可以划分成若干个线程。

线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行,一个进程最少有一个线程(单线程程序)

4.线程实现的两种方式

package com.vince;
/**
 * 进程:一个具有独立内存空间的执行程序
 * 线程:线程是进程中的其中一条执行路径(多条就是多线程),每个进程最少有一个线程
 *     同一个进程中的多个线程共享一个内存空间
 * 实现多线程的两种方式:
 * 1.继承Thread类
 * 2.实现Runnable接口
 * @author acer
 *
 */
public class ThreadDemo {


    public static void main(String[] args) {
        System.out.println(Thread.currentThread().getName());
        //创建一个线程对象
        MyThread mt=new MyThread();
        //mt.run();//直接调用不是启动线程,而是在本线程中执行方法
        mt.start();//线程已准备就绪,等待cpu的调度
        
        
        MyRunnable mr=new MyRunnable();
        Thread t=new Thread(mr);
        t.start();
    }
    //继承Thread类实现线程
    static class MyThread extends Thread{
        public void run() {
            // 在此方法中编写线程要执行的工作
            for(int i=1;i<10;i++){
                System.out.println(Thread.currentThread().getName()+"--"+System.currentTimeMillis()+"--"+i);
            }
        }
    }
    //实现Runnable接口实现线程
    static class MyRunnable implements Runnable{
        public void run() {
            // 在此方法中编写线程要执行的工作
            for(int i=1;i<10;i++){
                System.out.println(Thread.currentThread().getName()+"--"+System.currentTimeMillis()+"--"+i);
            }
        }
    }
}

 

Java多线程与并发——进程与线程

原文:http://www.cnblogs.com/shenhainixin/p/5137565.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!