Thinking in Java(Fourth Edition)学习笔记--并发(concurrency)-21.2基本线程机制

本文详细介绍了Java线程的基本概念,包括如何通过实现Runnable接口来创建任务,使用Executor管理线程,以及线程的休眠、优先级和后台线程的特性。同时,探讨了线程异常处理的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.任务只需实现Runner接口并编写run()方法,就可以执行任务.每个任务需要着到线程(Thread)上. 

  注意:线程执行基本是无序的,若要控制顺序,需要使用同步控制

2.但是Exector可以为我们管理Thread对象,Exector在客户端和任务执行之间提供了一个间接层.

  Executors.newCachedThreadPool(),Executors.newFixedThreadPool(5)

3.可以从任务中返回值P658

4.线程休眠:TimeUnit.MILLISECONDS.sleep(1000)

5.线程优先级P660.

6.线程让步yield,不可依赖,常被误用.

7.后台(daemon)线程P662

(1) Thread daemon = new Thread(new SimpleDaemons());
             daemon.setDaemon(true);  // Must call before start()
             daemon.start();

(2)可以通过isDaemon()判断是否为后台线程

          *通过后台纯种创建的线程也是后台线程P663

 (3) 当最后一个后台线程终止时,所有后台线程会"突然"全部终止,所有未执行完的部分都不会执行,包括finally模块.

8.异常捕获

(1)无法直接捕获从线程中抛出的异常

(2)若要捕获线程中的异常,必须在创建线程时设置异常处理器(ExceptionHandler)P673-674

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值