【Java多线程】1. 多线程基础

一、 进程和线程的概念

1. 进程:

    进程是操作系统结构的基础;是一次程序的运行;是一个程序及其数据在处理机上顺序执行时所发生的活动;是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

2. 线程:

    线程实在进程中独立运行的子任务,一个进程可以有1个或多个线程。

二、 创建线程的方法

1. 继承Thread类

    1. Thread类结构

public class Thread implements Runnable

      从其结构可以看出,Thread类实现了Runnable接口。下面是一个继承Thread类实现多线程的例子:

     MyThread.java

public class MyThread extends Thread {

    private int count = 10;

    @Overrid
    public void run() {
        super.run();
        while(count > 0) {
            System.out.println(Thread.currentThread().getName() + 
                " : " + count);
                count--;
        }
    }
}

     Demo1.java

public class Demo1() {

    public static void main(String[] args) {
        MyThread myThread1 = new MyThread();
        myThread1.setName("线程1");
        MyThread myThread2 = new MyThread();
        myThread2.setName("线程2");
        myThread1.start();
        myThread2.start();
    }
}

     其运行结果如下:
Demo1
     由结果可以看出,两个线程执行顺序呈随机性,且不共享其count变量,即count变量是线程私有的若想多个线程共享同一变量,实现类似抢票的功能,可采用如下方法:
     Demo2.java

public class Demo2 {

    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        Thread t1 = new Thread(myThread, "线程1");
        Thread t2 = new Thread(myThread, "线程2");
        t1.start();
        t2.start();
    }
}   

     其运行结果如下:
这里写图片描述
     由结果可以看出,两个线程执行顺序呈随机性,且共享其count变量,即count变量是线程共享的

2. 实现Runnable接口

//TODO

猜你喜欢

转载自blog.csdn.net/CS_flower495/article/details/80791921
今日推荐