进程与线程和多线程的实现方式

进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。

线程:线程是进程中的一个执行单元(执行路径),负责当前进程中程序的执行,  一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。

创建新执行线程有两种方法。
a:一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。创建对象,开启线程。run方法相当于其他线程的main方法。

b:另一种方法是声明一个实现 Runnable 接口的类。该类然后实现 run 方法。然后创建Runnable的子类对象,传入到某个线程的构造方法中,开启线程。

获取线程名字Thread类方法getName

获取线程名字Thread类方法currentThread

每个线程,都有自己的名字
 *  运行方法main线程,名字就是"main"

*  其他新键的线程也有名字,默认 "Thread-0","Thread-1"

线程名字设置

1.通过构造,2,setName

Thread类方法sleep

A:实现接口方式的好处
        第二种方式实现Runnable接口避免了单继承的局限性,所以较为常用。
        实现Runnable接口的方式,更加的符合面向对象,线程分为两部分,一部分线程对象,一部分线程任务。
        继承Thread类,线程对象和线程任务耦合在一起。
        一旦创建Thread类的子类对象,既是线程对象,有又有线程任务。
        实现runnable接口,将线程任务单独分离出来封装成对象,类型就是Runnable接口类型。Runnable接口对线程对象和线程任务进行解耦。
        (降低紧密性或者依赖性,创建线程和执行任务不绑定)

线程池

工厂类 Executors中的静态方法创建线程对象,指定线程的个数
           *   static ExecutorService newFixedThreadPool(int 个数) 返回线程池对象
           *   返回的是ExecutorService接口的实现类 (线程池对象)

           *   接口实现类对象,调用方法submit (Ruunable r) 提交线程执行任务

实现线程的Callable接口方式

实现步骤
          *    工厂类 Executors静态方法newFixedThreadPool方法,创建线程池对象
          *    线程池对象ExecutorService接口实现类,调用方法submit提交线程任务

          *    submit(Callable c)

public class ThreadPoolDemo1 {
          public static void main(String[] args)throws Exception {
        ExecutorService es = Executors.newFixedThreadPool(2);
        //提交线程任务的方法submit方法返回 Future接口的实现类
        Future<String> f = es.submit(new ThreadPoolCallable());
        String s = f.get();
        System.out.println(s);
          }
         }

         /*
          * Callable 接口的实现类,作为线程提交任务出现
          * 使用方法返回值
          */
         import java.util.concurrent.Callable;
         public class ThreadPoolCallable implements Callable<String>{
          public String call(){
        return "abc";
          }

         }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值