[Java]多线程/继承Thead类/实现runnable接口
来源:互联网 发布:ospf端口号 编辑:程序博客网 时间:2024/05/18 02:00
Thread类和Thread的子类才能被称为线程类
》》继承Thread类来实现多线程
public class A { public static main (String args[]) { //创建线程对象并启动线程 new myThread().start();//千万不能用run,run只能存在一个线程 }}class myThread extends Thread{ @Override public void run() { //线程执行体:执行该线程需要的操作}}
》》实现接口法来实现多线程
- java不允许多继承,因此实现了Runnable接口的类可以再继承其他类。
public class A { public static main (String args[]){ Thread a = new Thread(new myRunnable()); a.start(); }}class myRunnable implements Runnable{ @Override public void run() { //线程执行体:执行该线程需要的操作 } }}
==================关于线程池============
【非原创 转载自开心coding开心playing】
创建线程池主要有三个静态方法供我们使用,由Executors来进行创建相应的线程池:
public static ExecutorSevice newSingleThreadExecutor()public static ExecutorSevice newFixedThreadPool(int nThreads)public static ExecutorSevice newCachedThreadPool()public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)newSingleThreadExecutor返回以个包含单线程的Executor,将多个任务交给此Exector时,这个线程处理完一个任务后接着处理下一个任务,若该线程出现异常,将会有一个新的线程来替代。
newFixedThreadPool返回一个包含指定数目线程的线程池,如果任务数量多于线程数量,那么没有执行的任务必须等待,直到有任务完成为止。
newCachedThreadPool根据用户的任务数创建相应的线程来处理,该线程池不会对线程数目加以限制,完全依赖于JVM能创建线程的数量,可能引起内存不足。
newScheduledThreadPool创建一个至少有n个线程空间大小的线程池。此线程池支持定时以及周期性执行任务的需求。
我们只需要把实现了Runnable的类的对象实例放入线程池,那么线程池就自动维护线程的启动、运行、销毁。我们不需要自行调用start()方法来开启这个线程。线程放入线程池之后会处于等待状态直到有足够空间时会唤醒这个线程。
阅读全文
0 0
- [Java]多线程/继承Thead类/实现runnable接口
- java多线程继承Runnable接口
- Java 多线程实现接口Runnable和继承Thread区别
- java多线程(继承Thread以及实现Runnable接口)
- Java 多线程实现接口Runnable和继承Thread区别
- Java 多线程实现接口Runnable和继承Thread区别 (2
- Java 多线程实现接口Runnable和继承Thread区别
- java实现多线程的两种方式继承Thread类和实现Runnable接口
- Java中实现多线程有两种方法的区别:继承Thread类、实现Runnable接口
- java runnable接口实现多线程
- java多线程实现:Runnable接口
- java多线程学习1-继承Thread类和实现Runnable接口来创建线程
- java创建多线程的两种方法(继承Thread类/实现Runnable接口)
- java多线程选择实现Runnable接口而不是直接继承Thread类的原因
- 多线程——Java中继承Thread类与实现Runnable接口的区别
- Java多线程实现接口Runnable和继承Thread区别(建议使用Runnable)
- JAVA——多线程编程之两种多线程方法:继承Thread类和实现Runnable接口(一)
- Java线程示例 - 继承Thread类和实现Runnable接口
- ubuntu配置
- MPEG的帧Frame(转)
- Maven(一)约定的目录结构、常用命令
- GS库用户指南(基本API篇)(转)
- mac os 安装 boost库(转)
- [Java]多线程/继承Thead类/实现runnable接口
- Unity脚本的生命周期
- Apple Swift编程语言入门教程(转)
- C++0x —function, bind和lambda(转)
- 悲观锁和乐观锁的区别
- NSOperationQueue管理线程(转)
- 在同个工程中使用 Swift 和 Objective-C(转)
- erlang中socket知识点(转)
- MySQL 数据类型(转)