Java 线程小记(一)

线程(在进程中独立运行的子任务)
单线程 特色:排队执行(必须上一个任务执行完毕才能执行下一个任务),也就是同步。
多线程 特色:异步,CPU在多个任务之间来回切换。
(多线程是异步的,线程被调用的时机是随机的。)安全

实例变量(线程安全)
多线程操做的数据是否共享多线程

非共享实例(多个线程非访问不一样一个实例变量)(代码以下)异步

public class TestXC
{
    public static void main(String[] args) {
        MyThread a = new MyThread("售票口一");
        MyThread b = new MyThread("售票口二");
        MyThread c = new MyThread("售票口三");
        a.start();
        b.start();
        c.start();
    }
}
class MyThread extends Thread
{
    private int count = 5;
    public MyThread(String name) {
        super();
        // 设置线程名称
        this.setName(name);
    }
    public void run() {
        super.run();
        while (count > 0) {
            count--;
            System.out.println("由" + this.currentThread().getName() + "卖出一张票,票数还剩余" + count);
        }
    }
}this

 

共享实例以下线程

public class TestXC
{
    public static void main(String[] args) {
        MyThread a = new MyThread();
        Thread t1 = new Thread(a, "售票口一");
        Thread t2 = new Thread(a, "售票口二");
        Thread t3 = new Thread(a, "售票口三");
        Thread t4 = new Thread(a, "售票口四");
        Thread t5 = new Thread(a, "售票口五");
        t1.start();
        t2.start();
        t3.start();
        t4.start();
        t5.start();
    }
}
class MyThread extends Thread
{
    private int count = 5;进程

    public void run() {
        super.run();
        count--;
        System.out.println("由" + this.currentThread().getName() + "卖出一张票,票数还剩余" + count);
    }
}get

保证多个线程操做的是同一个count同步

相关文章
相关标签/搜索