线程学习
文章平均质量分 63
尸姐别走
这个作者很懒,什么都没留下…
展开
-
Java线程的学习_线程通信
线程通信的一些方法原创 2016-11-02 20:54:58 · 180 阅读 · 0 评论 -
Java线程的学习_线程与集合
线程不安全的集合ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等都是线程不安全的,也就是说,当多个并发线程向这些集合中存、取元素时,就可能破坏这些集合的数据完整性。如果程序中有多个线程可能访问以上这些集合,就可以使用Collection提供的类方法把这些集合包装成线程安全的集合。static <T> Collection<T> synchro原创 2016-11-13 17:40:10 · 264 阅读 · 0 评论 -
Java网络编程_基于TCP协议的网络编程(二)
实现一个命令行界面的C/S聊天室应用,服务器端应该包含多个线程,每个Socket对应一个线程,该线程负责读取Socket对应输入流的数据(从客户端发送过来的数据),并将读到的数据向每个Socket输出流发送一次(将一个客户端发送的数据“广播”给其他客户端),因此需要在服务器端使用List来保存Socket。原创 2016-11-13 17:16:07 · 438 阅读 · 0 评论 -
Java网络编程_基于TCP协议的网络编程(一)
TCP/IP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路。一旦建立了虚拟网络链路,两端的程序就可以通过虚拟链路进行通信。Java对基于TCP协议的网络通信提供了良好的封装,Java使用Socket对象来代表两端的通信端口,并通过Socket产生IO流进行网络通信。原创 2016-11-12 21:19:16 · 1783 阅读 · 0 评论 -
Java线程的学习_线程的控制
Java的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程的执行。join线程Thread提供了让一个线程等待另一个线程完成的方法——join()方法。在某个程序执行流中调用其他线程的join()方法时,调用线程将被阻塞,知道被join()方法加入的join线程执行完为止。 join()方法通常使用线程的程序调用,以将大问题划分为许多小问题,每个小问题分配一个线程,当所有的原创 2016-10-31 17:56:24 · 253 阅读 · 0 评论 -
Java线程的学习_线程的生命周期
当线程被创建并启动以后,它既不是已启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)五种状态。当线程启动后,线程不可能一直霸占CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换。 由上图可知道线程的状态转换需要注意的几个点-只能对处原创 2016-10-28 21:19:41 · 215 阅读 · 0 评论 -
Java线程的学习_线程的创建和启动
线程的创建和启动 Java使用Thread类代表线程,所有线程对象都必须是Thread类或其子类的实例。每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺序执行的的代码)。Java使用线程执行体来代表这段流程。 创建线程有三个方法: - 方法1.继承Thread类创建线程类 - 方法2.实现Runnable接口创建线程类 - 方法3.使用Callable和Future创建线原创 2016-10-27 21:28:21 · 254 阅读 · 0 评论 -
Java线程的学习_ThreadLocal类
Java为线程安全提供了一些工具类,其中包括了ThreadLocal类。ThreadLocal类代表一个线程局部变量,通过把数据放在ThreadLocal中就可以让每个线程创建一个该变量的副本,从而避免并发访问的线程安全问题原创 2016-11-06 16:54:35 · 212 阅读 · 0 评论 -
Java线程的学习_线程池
系统启动一个新线程需要很高的成本,因为它涉及与操作系统交互。在这种情况下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时。原创 2016-11-05 21:18:34 · 417 阅读 · 0 评论 -
Java线程的学习_线程组
Java使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java语序程序直接对线程组进行控制。用户创建的所有线程都属于指定线程组,如果程序没有显式指定线程属于哪个线程组,则该线程属于默认线程组。在默认情况下,子线程和创建它的父线程处于同一个线程组内,例如A线程创建了B线程,并且没有指定B线程的线程组,则B线程属于A线程所在的线程组。原创 2016-11-04 16:39:48 · 232 阅读 · 0 评论 -
算法题型的个人练习_03
算法实现: 输入一个正整数数组,然后输出该数组中所有数字组成的最大数。 例如,[7,5,9,556,89,11]最大数为9897556511 算法思想: 对数组按照自定义规则进行排序,在java中,我们可以使用Arrays.sort()方法,并且通过接口Comparator重新编写排序的规则。 排序规则: 数字位数相同比较两个数的第一位,谁大谁在前,要是第一位相原创 2016-10-23 17:03:34 · 220 阅读 · 0 评论 -
Java线程的学习_线程同步
多线程编程很容易突然出现“错误情况”,这是由系统的线程调度具有一定随机性造成的,不过即使程序偶然出现问题,那也是由于编程不当引起的。当使用多个线程 来访问数据时,很容易“偶然”出现线程安全问题。原创 2016-11-01 21:25:48 · 317 阅读 · 0 评论