第一章:线程三种常用模式(Callable代码)

小结难点: 关于Callable 流程

//一、创建执行服务 也是线程池

ExecutorService ser = Executors.newFixedThreadPool(线程数);

//提交执行

Future<call方法返回的类型> fr = ser.submit(逻辑执行类);

//执行结果 返回call方法执行的结果

Object o = fr.get();

//执行完成,立即关闭线程

ser.shutdownNow();

  

原文地址:https://www.cnblogs.com/gjths/p/12199076.html

时间: 2024-10-15 20:24:18

第一章:线程三种常用模式(Callable代码)的相关文章

第一章线程管理

Java 7 并发编程实战手册目录 代码下载(https://github.com/Wang-Jun-Chao/java-concurrency) 第一章线程管理 1.1简介 在计算机领域中,我们说的并发(Concurrency)是指一系列任务的同时运行.如果一 台电脑有多个处理器或者有一个多核处理器,这个同时性(Simultaneity)是真正意义的并 发:但是一台电脑只有一个单核处理器,这个同时性并不是真正的并发 与并发相关的另一个概念是并行(Parallelism).与并发有不同的定义一样

第一章 C/C++语言概述 【代码手输一遍】

前情提要:如果不涉及面向对象的部分,那么C++语言和C语言的语法90%以上是一样的,只不过略有扩充,用起来更为方便而已. 查看gcc版本: E:\Program Files\MinGW\bin>gcc -v Reading specs from ./../lib/gcc/mingw32/3.4.5/specs Configured with: ../gcc-3.4.5-20060117-3/configure --with-gcc --with-gnu-ld --wi th-gnu-as --h

Java 7 Concurrency Cookbook 翻译 第一章 线程管理之三

五.睡眠和唤醒一个线程 有时,你会想要在一段特定的时间后再去中断线程的运行.举个例子,程序中的一个线程每一分钟检查一次传感器的状态,剩余的时间,线程应该处于空闲的状态.在这段空闲时间里,线程不会使用计算机的任何资源.一分钟后,线程已经准备好了,才让JVM选择调用它继续执行.你可以使用 Thread 类的 sleep() 方法来达到此目的.该方法接受一个 int 类型参数表明线程挂起不运行的毫秒数.当睡眠时间结束,线程转移到可运行状态等待JVM的调度. TimeUnit 枚举类的某个成员同样具有

Java 7 Concurrency Cookbook 翻译 第一章 线程管理之一

一.简介 在计算机的世界里,当我们谈论并发时,我们指的是一系列的任务同时运行于一个计算机中.这里说的同时运行,在计算机拥有多于一个处理器或者是一个多核处理器的时候才是真正的同时,在计算机只拥有单核处理器的时候,它指的是表面上的同时运行. 所有的现代操作系统都允许并发任务的执行.在听歌和阅读网页上新闻的同时,你还能阅读电子邮件.我们可以说这种类型的并发是进程级别的并发.但在一个进程内部,我们也可以拥有多个同时运行的任务.那些运行在一个进程中的并发任务被称作线程. 与并发相关的另一个概念是并行.它与

Java 7 Concurrency Cookbook 翻译 第一章 线程管理之二

三.中断一个线程 一个拥有多个线程的Java程序要结束,需要满足两个条件之一:一是所有的非后台线程都执行结束了:二是某个线程执行了 System.exit() 方法.当你想要终结一个运行中的Java程序或者程序的用户想要取消一个线程正在执行的任务时,你都需要结束一个线程. Java提供中断机制来表明我们想要终止一个线程.这个机制的核心是线程必须要检查自己是否被中断,而且线程自己决定是否响应中断请求.线程可以忽略该中断请求而继续执行. 在本秘诀中,我们将开发一个程序,这个程序创建线程,5秒后使用中

Java 7 Concurrency Cookbook 翻译 第一章 线程管理之六

十一.处理线程组中的未控制异常 每种编程语言一个很重要的特性就是其所提供的用来处理程序中错误情况的机制.Java语言和其他的现代语言一样,是提供了异常机制来处理对象程序中的错误.Java提供了很多的类来对应不同的错误.当Java检查到这些错误时,会抛出对应的异常对象.你可以直接使用那些异常类或者实现自己的异常类来处理程序中出项的错误情况. Java同时提供了捕获和处理异常对象的机制.异常必须被捕获或者重新抛出来.这类异常称为检测异常.还有一类异常不必捕获和处理,称为不检测异常. 在本秘诀中,我们

Java 7 Concurrency Cookbook 翻译 第一章 线程管理之四

七.创建和运行一个后台线程 Java中有一种特别的线程叫做 deamon(后台) 线程.这类线程具有非常低的权限,并且只有在同一个程序中没有其他的正常线程在运行时才会运行.注意:当一个程序中只剩下后台线程时,JVM会终结所有的后台线程并结束程序. 由于这个特性,后台线程一般用于为同一个程序中的其他正常线程提供服务.这种后台线程一般都有一个无限的循环在等待请求服务或者执行请求的任务.由于不知道它们何时可以获得CPU的调用执行,同时在没有其他正常线程的情况下会被JVM终结,所以后台线程不能用于执行重

第一章——第二节 启动模式

问题: 一.四种启动模式的作用 二.如何开启多个任务栈 三.特殊情况栈的转移 四.如何修改默认的启动模式 ①.AndroidManifest.xml中 ②.代码中,并背诵常用的Flag 五.栈顶复用的生命周期 回答: 三.特殊情况栈的转移 步骤:1.创建两个项目  2.在A项目中创建SecondActvitiy,并设置allowTaskReparenting="true"  3.在B项目中利用Intent调用A项目的SecondActivity 4.之后再启动A项目  (详细代码不贴出

第一章——线程的介绍

1 什么是线程 线程,有时被称为轻量级进程,是程序执行的最小单元.一个标准的线程由线程ID.程序计数器(pc).一组寄存器和堆栈组成.通常,一个进程由多个线程组成,每个线程之间共享进程的内存空间(包括代码段.数据段.堆等)及一些进程级的资源(如打开的文件描述符和信号).如下图所示: 2 线程的访问权限 线程的访问非常自由,它可以访问进程内存里的所有数据,同时线程也拥有自己IDE私有存储空间,包括以下几方面: 1)栈 2)线程局部存储(TLS). 3)寄存器(包括PC寄存器) 3 线程调度和优先级