Java线程与多线程

 

计算机可以将多种活动同时进行,这种思想放在Java中被称为并发,而将并发完成的每一件事情称为线程。

1.线程和多线程

在Java中,并发机制非常重要。在以往的程序设计中,我们都是一个任务完成后再进行下一个任务,这样下一个任务的开始必须等待前一个任务的结束。Java语言提供了并发机制,程序员可以在程序中执行多个线程,每一个线程完成一个功能,并与其他线程并发执行,这种机制被称为多线程。
一个线程则是进程中的执行流程,一个进程中可以同时包括多个线程,每个线程也可以得到一小段程序的执行时间,这样一个进程就可以具有多个并发执行的线程。在单线程中,程序代码按调用顺序依次往下执行。如果需要一个进程同时完成多段代码的操作,就需要使用多线程。

2.创建线程

通过java.lang.Thread类的对象来代表线程

创建方式一:继承Thread类
  1. 创建MyThread类,让其继承Thread类并重写run()方法。
public class MyThread0 extends Thread{
    //必须重写run方法
    //run方法描述线程的执行内容
    @Override
    public void run() {
        for (int i = 0; i < 4; i++) {
            System.out.println("子线程正在输出:" + i);
        }
    }
}
  1. 创建MyThread类的实例对象,即创建一个新线程。
  2. 调用start()方法,启动线程。
public class test {
    //主线程和子线程执行是随机的
    public static void main(String[] args) {
        Thread t=new MyThread0();
        //注意是调用start不是调用run
        t.start();
        for (int i = 0; i < 4; i++) {
            System.out.println("主线程正在输出:" + i);
        }
    }
}

优点:编码简单
缺点:线程类已经继承了Thread,无法继承其他类,不利于功能的扩展

创建方式2:实现Runnable接口
  1. 创建MyRunnable类实现Runnable接口。Runnable接口只有一个run方法,源代码如下:
public interface Runnable {
    public abstract void run();
}
public class MyRunnable implements Runnable{
    @Override
    public void run() {
        for (int i = 0; i < 4; i++) {
            System.out.println("子线程1输出:" + i);
        }
    }
}
  1. 创建MyRunnable类的实例对象myRunnable
  2. 把实例对象myRunnable作为参数来创建Thread类的实例对象thread,实例对象thread就是一个新线程。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/87775.html

(0)
guozi's avatarguozi
上一篇 2024年6月3日 下午2:56
下一篇 2024年6月3日 下午3:00

相关推荐

  • 国内服务器国外域名 不备案会被墙吗,境外服务器ip

    您是否遇到过国外服务器域名被屏蔽的问题?这种问题在互联网行业并不罕见,但却给您的网站运营带来了很大的麻烦。要解决这个问题,首先需要了解国外服务器域名被屏蔽的原因,以及如何检测域名是…

    行业资讯 2024年5月8日
    0
  • Ubuntu操作系统应如何保护?

    无论工作负载运行在哪种操作系统上,备份和数据恢复程序或工具都至关重要。当考虑到任何数据丢失都会对企业造成很大的破坏性时,这一点尤其重要。 这些原则同样适用于Ubuntu操作系统(O…

    行业资讯 2024年5月31日
    0
  • 域名dns是什么

    你是否经常听到“域名DNS”这个词,但又不知道它究竟是什么?在网络行业中,域名DNS扮演着重要的角色,它是什么?有哪些作用和功能?如何解析?会遇到哪些问题?本文将为你一一解答。让我…

    行业资讯 2024年4月11日
    0
  • 验证码被遮挡,验证码狂轰乱炸怎么办

    (3)维护网络安全:避免登录公共网络上的敏感账户,同时也要小心保护专用网络上的账户信息不被恶意攻击者利用。 被验证码阻止是一个常见的网络问题,但有多种方法可以解决或解决此问题。如果…

    行业资讯 2024年5月9日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注