一、简单粗暴的线程 最原始的方式,当我们要并行的或者异步的执行一个任务的时候,我们会直接使用启动一个线程的方式,如下面所示: new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method ...
分类:
编程语言 时间:
2020-06-09 14:22:38
阅读次数:
62
使用Runnable接口 首先我们要知道使用Thread创建的子类可以添加新的成员变量,以及添加方法,使用线程中的功能,但是Java不允许将子类再往后继承,也就是不能再扩展后代. Runnable接口与目标对象 那么这时候就出现了使用Runnable接口如果用Thread类直接创建对象通常使用以下的 ...
分类:
编程语言 时间:
2020-06-05 23:04:49
阅读次数:
78
UNIX 系统下的 I/O 模型有 5 种:同步阻塞 I/O、同步非阻塞 I/O、I/O 多路复用、信号驱 动 I/O 和异步 I/O。CPU 访问内存的速 度远远高于外部设备,因此 CPU 是先把外部设备的数据读到内存里,然后再进行处理。所以当你的程序通过 CPU 向外部设备发出一个读指令时,数据 ...
分类:
其他好文 时间:
2020-06-05 00:41:16
阅读次数:
89
1.java类型系统内建函数式接口 (1) java.lang.Runnable (2) java.lang.Comparable (3) java.lang.Comparator (4) java.io.FileFilter (5) more.... (6) java.util.function. ...
分类:
编程语言 时间:
2020-06-02 22:59:25
阅读次数:
52
1进程:cpu资源分配的最小单位 2线程:cpu调度的最小单位 3时间片轮转:约0.6ns一条指令 4并行/并发 5并发线程限制 linux:1000 windows:2000 6java有俩种创建线程的方式 (1)Thread:是Java对线程的抽象 (2) Runnable:是java对任务的抽 ...
分类:
编程语言 时间:
2020-06-02 00:08:29
阅读次数:
80
相同点: 两者都是接口;(废话) 两者都可用来编写多线程程序; 两者都需要调用Thread.start()启动线程; 不同点: 两者最大的不同点是:实现Callable接口的任务线程能返回执行结果;而实现Runnable接口的任务线程不能返回结果; Callable接口的call()方法允许抛出异常 ...
分类:
其他好文 时间:
2020-06-01 01:04:45
阅读次数:
77
//龟兔赛跑public class Race implements Runnable{ private static String winner; @Override public void run() { for (int i = 0; i <= 100 ;) { //模拟兔子休息 if (Th ...
分类:
编程语言 时间:
2020-05-31 21:29:04
阅读次数:
92
一、Thread类 1.1 该如何创建线程呢? 通过API中搜索,查到Thread类。通过阅读Thread类中的描述。Thread是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。 1.2 继续阅读,发现创建新执行线程有两种方法。 1)一种方法是将类声明为 Thread 的子类 ...
分类:
编程语言 时间:
2020-05-31 19:48:24
阅读次数:
64
##线程状态 NEW:刚创建未启动的线程 RUNNABLE:正在执行状态 BLOCKED:处于阻塞状态的线程 WAITING:正在等待另一个线程执行特定动作的线程 TIMED_WAITING:等待另一个线程执行时间到达指定时间 TERMINATED:线程退出执行 public class TestS ...
分类:
编程语言 时间:
2020-05-31 19:40:59
阅读次数:
63
在开发中,很多时候会异步处理一些业务需求,在不影响主业务的情况下,还需要做一些附加的耗时长的操作,可以在主代码中 开一个线程(主要有三种线程): 1.new ARunnable类,实现Runnable接口,复写run方法: public class ARunnable implements Runn ...
分类:
编程语言 时间:
2020-05-31 11:28:19
阅读次数:
79