多线程+线程池,锁

创建线程的方法:

继承Thread 类

Thread 类本质上是实现了Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread 类的start()实例方法。start()方法是一个native 方法,它将启动一个新线程,并执行run()方法。

实现Runnable 接口

如果自己的类已经extends 另一个类,就无法直接extends Thread,此时,可以实现一个Runnable 接口;

启动线程需要实例化一个Thread,并传入实现runnable的实例,调用thread.start(),thread的run方法会调用target.run();

实现Callable 接口

        Callable<Integer> callableObj = () -> {
            int result = integers.stream().mapToInt(i ->i.intValue()).sum();
            return result;
        };
        ExecutorService service =  Executors.newSingleThreadExecutor();
        Future<Integer> future = service.submit(callableObj);
        Integer result=0;
        result = future.get();

通过线程池方法

线程池工作顺序

线程池刚创建时,里面没有一个线程。任务队列是作为参数传进来的。不过,就算队列 里面有任务,线程池也不会马上执行它们。

1.当线程数小于核心线程数时࿰

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值