在 Java 中,可以使用 Thread 类来创建和管理多线程。
首先,创建一个继承自 Thread 类的子类,并重写 run() 方法。run() 方法里面包含了线程的主要逻辑。示例如下:接下来,在需要创建线程的地方,实例化子类对象,并调用 start() 方法启动线程。示例如下:运行上述代码,会同时启动一个子线程和主线程,并且两个线程会交替执行各自的逻辑,输出结果可能是类似下面的样子:
首先,创建一个继承自 Thread 类的子类,并重写 run() 方法。run() 方法里面包含了线程的主要逻辑。示例如下:
- public class MyThread extends Thread {
- @Override
- public void run() {
- // 线程的主要逻辑
- for (int i = 0; i < 10; i++) {
- System.out.println("Thread " + i);
- }
- }
- }
- public class Main {
- public static void main(String[] args) {
- MyThread myThread = new MyThread();
- myThread.start(); // 启动线程
- // 主线程的逻辑
- for (int i = 0; i < 10; i++) {
- System.out.println("Main " + i);
- }
- }
- }
- Main 0
- Thread 0
- Thread 1
- Main 1
- Thread 2
- Main 2
- Thread 3
- Main 3
- Thread 4
- Main 4
- Thread 5
- Main 5
- Thread 6
- Main 6
- Thread 7
- Main 7
- Thread 8
- Main 8
- Thread 9
- Main 9
- public class Main {
- public static void main(String[] args) {
- Thread thread1 = new Thread(new MyRunnable());
- Thread thread2 = new Thread(new MyRunnable());
- thread1.start();
- thread2.start();
- // 主线程的逻辑
- for (int i = 0; i < 10; i++) {
- System.out.println("Main Thread " + i);
- }
- }
- }
- class MyRunnable implements Runnable {
- @Override
- public void run() {
- // 线程的主要逻辑
- for (int i = 0; i < 10; i++) {
- System.out.println("Thread " + Thread.currentThread().getId() + " " + i);
- }
- }
- }
- Main Thread 0
- Thread 10 0
- Thread 11 0
- Thread 10 1
- Main Thread 1
- Thread 10 2
- Thread 11 1
- Thread 10 3
- Thread 11 2
- Main Thread 2
- Thread 11 3
- Thread 10 4
需要注意的是,每个线程都会创建一个独立的执行栈,并且线程之间共享堆内存中的数据。因此,在多线程编程中,需要注意各个线程之间的同步问题,以避免数据不一致或竞态条件等问题的发生。
在 Java 中,你可以通过以下两种方式来向线程传递参数:
- 使用构造函数传参:可以在实例化线程对象时通过构造函数向线程传递参数。
- public class Main {
- public static void main(String[] args) {
- Thread thread1 = new MyThread("Thread 1");
- Thread thread2 = new MyThread("Thread 2");
- thread1.start();
- thread2.start();
- }
- }
- class MyThread extends Thread {
- private String threadName;
- public MyThread(String threadName) {
- this.threadName = threadName;
- }
- @Override
- public void run() {
- System.out.println("Hello from " + threadName);
- }
- }
在上面的示例中,我们创建了两个 MyThread 的实例,通过构造函数将不同的线程名传递给每个线程对象。在 run() 方法中,我们使用这些传递的参数来打印出线程的问候语。
- 在线程类内部设置参数,并提供公共的设置方法:可以在线程类内部定义一些参数,并提供公共的方法来设置参数。
"小礼物走一走,来肥宅自学平台支持我"
评论区
共条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~
首页上页1下页尾页