Java多线程研究01-创建线程

线程与进程

● 操作系统支持的线程至少会有四种状态:就绪、执行、阻塞和终结。线程在四种状态下进行切换,都是要消耗不少的CPU计算能力的。
● 并且根据操作系统使用线程的进程的不一样,线程还分为用户线程和操作系统线程。操作系统线程(内核线程),是指操作系统内核为了完成硬件接口层操作,由操作系统内核创建的线程:例如I/O操作的内核线程,这些线程应用程序是不能干预的;用户线程,是指用户安装/管理的应用程序,为执行某一种操作,而由这个应用程序创建的线程。后文我们讨论的JAVA线程,都是用户级线程。
● 线程在创建时,操作系统不会为这个线程分配独立的资源(除了必要的数据支撑)。一个应用程序(进程)下的所有线程,都是共享这个应用程序(进程)中的资源,例如这个应用程序的CPU资源、I/O资源、内存资源。
● 现在基本上主流操作系统都支持多线程实现。即一个应用程序中(一个进程中),可以创建多个线程。一个应用程序下,各个线程间都可以进行通讯、可以进行状态互操作。且一个进程中,至少有一个线程存在。

JAVA中线程的几种状态

这里写图片描述

JAVA中最简单的线程示例

1:继承Thread父类

java.lang.Thread类是JAVA中用于实现线程操作的最基本的类之一。您可以创建一个集成Thread类的子类来定义您自己的线程实现:

package com.zczpeng.thread;
public class MyThreadDemo{
    public static void main(String[] args) {
        new ThreadOne().start();
    }
}
class ThreadOne extends Thread{
    @Override
    public void run(){
        long threadId = this.getId();
        System.out.println("线程"+threadId+"执行了");
    }
}

2,实现Runnable接口

除了可以继承java.lang.Thread类来定义自己的线程外,您还可以实现java.lang.Runnable接口来定义一个线程(一般情况,我们优先使用这种方式):

public class MyThreadDemo{
    public static void main(String[] args) {
        new Thread(new ThreadTwo()).start();
    }
}
class ThreadTwo implements Runnable{
    @Override
    public void run() {
        long threadId = Thread.currentThread().getId();
        System.out.println("线程"+threadId+"执行了");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值