当前位置:首页 > 编程知识 > 正文

Java 与多线程编程

Java中的多线程编程是一个复杂但令人感兴趣的主题,它可以帮助我们更好地了解操作系统如何在单个应用程序中管理多个并发线程。多线程编程能充分利用 CPU 的多核特性,提高应用程序的运行效率。

一、Java 简介

Java是一种通用的、面向对象的编程语言,其“写一次,到处运行”的特性使它在多个平台上可能用途广泛。

public class HelloWorld {  
    public static void main(String[] args) {  
        System.out.println("Hello, World!");  
    }
}

这是一个基础的Java程序,主要是打印出"Hellow, World!"的消息。

二、Java多线程编程

Java多线程编程是Java并发编程的核心技术,可以充分利用CPU资源,提高程序的执行效率。通过继承Thread类或者实现Runnable接口,我们就可以创建一个新的线程。

public class MyThread extends Thread {
    public void run(){
        System.out.println("This is a new thread.");
    }
}

public static void main(String[] args) {
    MyThread t = new MyThread();  
    t.start();  
}

通过start方法,我们启动了一个新的线程,然后执行run方法中的内容。

三、Java线程同步

Java线程同步是Java并发编程中的重要问题,在多线程并发执行的环境中,线程同步对于数据的一致性和完整性非常重要。

public class Counter {
    private int count = 0;

    public synchronized void increment() {
        count++;
    }

    public int getCount() {
        return count;
    }
}

public static void main(String[] args) {
    Counter counter = new Counter();
    Thread t1 = new Thread(() -> {
        for(int i = 0; i < 10000; i++)
            counter.increment();
    });

    Thread t2 = new Thread(() -> {
        for(int i = 0; i < 10000; i++)
            counter.increment();
    });

    t1.start();
    t2.start();
    t1.join();
    t2.join();
    System.out.println(counter.getCount());
}

通过关键字synchronized,我们让线程逐个对共享资源做操作,从而达到线程安全的目的。