标签:多线程
-
016-十六、Java并发 Java ThreadLocalRandom
引言 随机数生成是一个非常常见的操作,而且 Java 也提供了 java.util.Random 类用于生成随机数,而且呢,这个类也是线程安全的,就是有一点不好,在多线程下,它的性…
-
000-网络编程系列(一)
多线程文章链接 [1.网络编程之多线程Runnable](https://www.ycbbs.vip/?p=320 "1.网络编程之多线程Runnable") …
-
010-十、网络编程多线程之线程池
引言 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线…
-
009-九、网络编程之多线程之单例模式
引言 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、…
-
008-八、网络编程之多线程之管道流
引言 在java语言中提供了很多输入与输出流,使我们方便了对数据进行操作,其中管道流是一种特殊的流,用于在不同线程间直接传输数据。一个线程发送到输出管道,另一个线程从输入管道中读取…
-
002-二、网络编程之线程停止详解
引言 多线程中有三种方式可以停止线程。 设置标记位,可以是线程正常退出。 使用stop方法强制使线程退出,但是该方法不太安全所以已经被废弃了。 使用Thread类中的一个inter…
-
001-一、网络编程之多线程Runnable
Runnable JDK说的:Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。实现类必须实现一个名称为 run 的无参数方法。 也有其它的说法是:如果让一个线…
-
15-Java多线程(十五)– 阻塞栈
对于阻塞栈,与阻塞队列相似。不同点在于栈是“后入先出”的结构,每次操作的是栈顶,而队列是“先进先出”的结构,每次操作的是队列头。 这里要特别说明一点的是,阻塞栈是Java6的新特征…
-
14-Java多线程(十四)- 阻塞队列
阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果…
-
13-Java多线程(十三)- 信号量
Java的信号量实际上是一个功能完毕的计数器,对控制一定资源的消费与回收有着很重要的意义,信号量常常用于多线程的代码中,并能监控有多少数目的线程等待获取资源,并且通过信号量可以得知…
-
12-Java多线程(十二)- 锁
一、锁(上) 在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.loc…
-
11-Java多线程(十一)- 有返回值的线程
在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。 现在Java终于有可返回值的任务(也可以叫做线程)了。 可…
-
10-Java多线程(十)– 并发协作:死锁
线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。 发生死锁的原因一般是两个对象的锁相互等待造成的。 在《[Java线程:线程的同步与锁](…
-
09-Java多线程(九)– 并发协作-生产者消费者模型
对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。 实际上,准确说应该是“生产者-消费者-…
-
08-Java多线程(八)- 线程的同步
一、同步方法 线程的同步是保证多线程安全访问竞争资源的一种手段。 线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题,当…
-
07-Java多线程(七)– 线程的调度
Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。 这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而…
-
06-Java多线程(六)- 线程的交互
线程交互是比较复杂的问题,SCJP要求不很基础:给定一个场景,编写代码来恰当使用等待、通知和通知所有线程。 一、线程交互的基础知识 SCJP所要求的线程交互知识点需要从java.l…
-
05-Java多线程(五)- 线程的同步与锁
一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数…
-
04-Java多线程(四)- 线程状态的转换
一、线程状态 线程的状态转换是线程控制的基础。线程状态总的可分为五大状态:分别是生、死、可运行、运行、等待/阻塞。用一个图来描述如下: ![2014081300002](https…
-
03-Java多线程(三)– 线程栈模型与线程的变量
要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。 线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究…