Java 高并发二:多线程基础详细介绍
概述
本文主要介绍Java 多线程基础知识,包括线程的创建、启动、休眠、停止以及线程安全等方面的内容,旨在帮助读者了解Java多线程编程的入门知识。
线程的创建和启动
在Java中,创建线程需要继承Thread
类或者实现Runnable
接口,并重写run()
方法。代码示例如下:
public class MyThread extends Thread {
@Override
public void run() {
// 线程执行的代码
}
}
public class MyRunnable implements Runnable {
@Override
public void run() {
// 线程执行的代码
}
}
创建线程后,需要调用start()
方法启动线程,系统就会自动调用run()
方法。代码示例如下:
MyThread myThread = new MyThread();
myThread.start();
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start();
线程的休眠和停止
线程休眠可以使用Thread.sleep()
方法,通过设置休眠时间(单位为毫秒)来使线程进入休眠状态。代码示例如下:
public class SleepDemo {
public static void main(String[] args) throws InterruptedException {
for (int i = 0; i < 10; i++) {
System.out.println("线程休眠前:" + i);
Thread.sleep(1000);
System.out.println("线程休眠后:" + i);
}
}
}
线程停止可以使用interrupt()
方法,通过设置线程状态来使线程停止。代码示例如下:
public class InterruptDemo {
public static void main(String[] args) {
Thread thread = new Thread(() -> {
while (!Thread.currentThread().isInterrupted()) {
System.out.println("线程运行中");
}
System.out.println("线程停止");
});
thread.start();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
thread.interrupt();
}
}
线程安全
线程安全是指多个线程同时访问同一资源时,不会发生数据冲突或数据不一致的问题。在Java中,可以使用synchronized
关键字实现对资源的同步访问。代码示例如下:
public class SynchronizedDemo {
private static int count = 0;
public static void main(String[] args) throws InterruptedException {
Runnable runnable = () -> {
synchronized (SynchronizedDemo.class) {
for (int i = 0; i < 10000; i++) {
count++;
}
}
};
Thread thread1 = new Thread(runnable);
Thread thread2 = new Thread(runnable);
thread1.start();
thread2.start();
thread1.join();
thread2.join();
System.out.println("count = " + count);
}
}
总结
本文介绍了Java多线程编程的入门知识,包括线程的创建、启动、休眠、停止以及线程安全等方面的内容。通过本文的学习,读者可以对Java多线程编程有一定的了解,并可以编写简单的多线程程序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 高并发二:多线程基础详细介绍 - Python技术站