线程组和线程池 一. 线程组 1. 线程组介绍及使用 Java使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许直接对线程组进行控制。对线程组的控制相当于控制这批线程。 在默认情况下,子线程和创建它的父线程同属于一个线程组。 一旦线程假如某个线程组之后,该线程将一直属 ...
分类:
编程语言 时间:
2018-05-19 00:43:21
阅读次数:
212
Java Thread系列(三)线程安全 一、什么是线程安全 线程安全概念:当多个线程访问某一个类(对象或方法)时,这个类始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。 线程安全来说,需要满足以下两个特性: 原子性 可见性 执行结果: 由此可见: 1. 多个线程要执行 synch ...
分类:
编程语言 时间:
2018-05-06 22:22:53
阅读次数:
188
一、线程调度(1)调整线程的优先级Java线程有优先级,优先级高的线程会获得较多的执行机会,但是只是抢占cpu使用权的机会增加了,并不意味着就一定先执行。Java线程的优先级用整数来表示,取值范围为:1~10 ,Thread有以下3个静态常量:static int MAX_PRIORITY线程可以具 ...
分类:
编程语言 时间:
2018-04-21 17:39:55
阅读次数:
189
pThreads线程(三) 线程同步--条件变量 条件变量(Condition Variables) 参考资料:http://game-lab.org/posts/posix-thread-cn/#5.1 条件变量是什么? 条件变量为我们提供了另一种线程间同步的方法,然而,互斥量是通过控制线程访问数 ...
分类:
编程语言 时间:
2018-03-21 15:01:53
阅读次数:
222
线程通信 一、线程间通信的条件 1、两个以上的线程访问同一块内存 2、线程同步,关键字 synchronized 二、线程间通信主要涉及的方法 wait(); > 用于阻塞进程 notify(); > 用于唤醒进程 notifyAll(); > 用于唤醒所有进程 三、线程通信的图解 四、线程通信的实 ...
分类:
编程语言 时间:
2018-02-27 19:31:56
阅读次数:
167
线程池 创建线程需要时间,如果有不同的小任务要完成,就可以事先创建许多线程,在应完成这些任务时发出请求。这个线程数最好在需要更多线程时增加,在需要释放资源时减少。 不需要自己创建这样的一个列表。该列表由ThreadPool类托管。该类会在需要时增加线程池中线程数,直到最大的线程数。 可以指定创建线程 ...
分类:
编程语言 时间:
2018-02-24 16:45:44
阅读次数:
197
多个线程在处理同一个资源,但是线程的任务却不相同,通过一定的手段使各个线程能有效地利用资源, 这种手段即:等待唤醒机制,又称作线程之间的通信 涉及到的方法:wait(),notify() 示例: 两个线程一个输入,一个输出 输入线程: 输出线程: 测试类: 运行后却发现输出的都是null...nul ...
分类:
编程语言 时间:
2018-01-20 16:18:23
阅读次数:
164
阅读目录 一 什么是线程 二 线程的创建开销小 三 线程与进程的区别 四 为何要用多线程 五 多线程的应用举例 六 经典的线程模型(了解) 七 POSIX线程(了解) 八 在用户空间实现的线程(了解) 九 在内核空间实现的线程(了解) 十 用户级与内核级线程的对比(了解) 十一 混合实现(了解) 一 ...
分类:
编程语言 时间:
2018-01-18 00:58:24
阅读次数:
214
一、基本概念 二、线程的中断 三、线程的状态 New (新建) Runnable (可运行) Blocked (被阻塞) Waiting (等待) Timed waiting (计时等待) Terminated (被终止) 四、面向对象程序设计课程学习进度条 ...
分类:
编程语言 时间:
2017-12-17 22:07:42
阅读次数:
159
为了更高效的处理一些时间片短,任务量大的任务,我们可能会经常用到多线程。但是多线程的环境下,很容易出现线程并发问题,线程死锁就是很常见的一种并发问题。为了避免此类问题,我们会用到线程间的通信,而等待唤醒机制,就是线程间通信的一种形式。 等待唤醒机制用到的方法主要有: public final voi ...
分类:
编程语言 时间:
2017-11-20 23:19:08
阅读次数:
195