线程的实现

简介: 写一个类,继承Thread类,覆盖Thread类中继承来的run()方法,这样就写好了自定义的线程类。

写一个类,继承Thread类,覆盖Thread类中继承来的run()方法,这样就写好了自定义的线程类。

继承java.lang.Thread类:

class MyThread extends Thread{

    public void run(){        
   //覆盖run(),线程体方法,自身其实就是普通的方法

        .......

    }

}

启动线程:

public class TestThread{

    public static void main(){

        Thread t1=new Mythread();

        T1.start();        
       //调用start()来启动线程,线程启动方法,向线程调度器说明当前线程已经准备好了,是一种可运行状态

    }

}

写一个类,实现Runable接口,实现其中的run()方法。这种方法写好的类的对象需要作为线程类创建对象时构造方法的参数。

实现java.lang.Runnable接口:

Class MyThread  implements Runnable{

    public void run(){

    }

}

启动线程:

public class TestThread{

    public static void main(){

        Runnable myThread = new MyThread();

        Thread t = new Thread(myThread);

        t.start();

    }

}

从java5开始,还有如下一些线程池创建多线程的方式:

ExecutorService pool = Executors.newFixedThreadPool(3)

for(int i=0;i<10;i++){

pool.execute(new Runable(){
public void run(){

}

});

}

Executors.newCachedThreadPool().execute(new Runable(){
public void run(){

}

});

Executors.newSingleThreadExecutor().execute(new Runable(){
public void run(){

}

});

相关文章
|
3月前
|
NoSQL Java 应用服务中间件
线程不够用怎么办?
### 并发编程挑战与解决方案概览 - 多线程导致线程爆炸,浪费CPU及可能导致JVM崩溃。线程池缓解问题,但仍有阻塞IO的效率低下。 - 非阻塞IO(如servlet3.1/Tomcat)和事件驱动(Reactive/Future)减少线程使用,但学习曲线陡峭。 - 轻量级线程如Netty、Spring Flux和虚拟线程(Java Loom)提升性能,但普及尚需时日。Java21引入虚拟线程,有望成未来性能关键。
162 10
|
12月前
|
Java C语言 Python
线程那些事
线程那些事
38 0
|
4月前
|
存储 安全 Java
C++线程浅谈
C++线程浅谈
|
算法 安全 程序员
线程小练习
线程小练习
|
Java Linux 程序员
04.关于线程你必须知道的8个问题(下)
大家好,我是王有志。今天是Java面试中线程问题的最后一部分内容,包括我们来聊同步与互斥,线程的本质,调度,死锁以及线程的优缺点等问题。
104 1
04.关于线程你必须知道的8个问题(下)
|
Java 调度
线程小记
线程小记
|
Java
什么是线程
什么是线程
129 0
线程睡眠
Thread.sleep方法会导致当前线程暂停执行一段指定的时间...
|
PyTorch 算法框架/工具 Python
几个常用线程的
1 OMP_NUM_THREADS=1 export OMP_NUM_THREADS 在服务器上跑PyTorch 程序的列位不要把cpu占满 修改这个环境变量降低你们的cpu使用率 (因为pytorch默认是能用多少线程就用多少的) 在python代码中: # 选择显卡 os.
5825 0