java多线程
西门吹雪叶孤城
爱生活,爱Java
展开
-
java多线程之并行和并发
1.并发和并行是即相似又有区别(微观概念)并行:指两个或多个事件在同一时刻点发生;并发:指两个或多个事件在同一时间段内发生。------------------------------------------------------------------------------------------------在操作系统中,在多道程序环境下,并发性是指在一段时间内宏观上有多个程原创 2017-06-20 09:39:45 · 3688 阅读 · 0 评论 -
java多线程之后台线程
1.后台线程在后台运行的线程,其目的是为其他线程提供服务,也称为“守护线程"。JVM的垃圾回收线程就是典型的后台线程。特点:若所有的前台线程都死亡,后台线程自动死亡,前台线程没有结束,后台线程是不会结束的。测试线程对象是否为后台线程:使用thread.isDaemon()。前台线程创建的线程默认是前台线程,可以通过setDaenon(true)方法设置为后台线程,并且当且仅当后台线程创建的原创 2017-06-23 10:48:56 · 243 阅读 · 0 评论 -
java多线程之联合线程
1.联合线程线程的join方法表示一个线程等待另一个线程完成后才执行。join方法被调用之后,线程对象处于阻塞状态。有人也把这种方式称为联合线程,就是说把当前线程和当前线程所在的线程联合成一个线程。哪个线程调用了该方法,那么这个线程就要先执行完才会执行其他的线程.//join线程类class JoinThread implements Runnable { public voi原创 2017-06-23 10:32:06 · 1040 阅读 · 0 评论 -
java多线程之sleep(long millis)方法
1.线程休眠让执行的线程暂停一段时间,进入计时等待状态。方法:static void sleep(long millis) 调用sleep后,当前线程放弃CPU,在指定时间段之内,sleep所在线程不会获得执行的机会。此状态下的线程不会释放同步锁/同步监听器.该方法更多的用于模拟网络延迟,让多线程并发访问同一个资源的错误效果更明显.在开发中也会故意使用该方法,如:publi原创 2017-06-23 10:17:37 · 1079 阅读 · 0 评论 -
java多线程之线程的生命周期
1.生命周期一个事物从出生的那一刻开始到最终死亡中间的整个过程.在事物的漫长的生命周期过程中,总会经历不同的状态(婴儿状态/青少年状态/中年状态/老年状态...).线程也是有生命周期的,也是存在不同的状态的,状态相互之间的转换.线程对象的状态存放在Thread类的内部类(State)中:注意:Thread.State类其实是一个枚举类.因为线程对象的状态是固定的,只有6种,此时使用枚举原创 2017-06-23 10:04:11 · 5024 阅读 · 1 评论 -
java多线程之生产者和消费者案例
1.线程通信不同的线程执行不同的任务,如果这些任务有某种关系,线程之间必须能够通信,协调完成工作.经典的生产者和消费者案例(Producer/Consumer): 分析案例: 1):生产者和消费者应该操作共享的资源(实现方式来做). 2):使用一个或多个线程来表示生产者(Producer).原创 2017-06-22 22:04:29 · 1482 阅读 · 0 评论 -
java多线程之线程同步问题
1.线程不安全的问题分析当多线程并发访问同一个资源对象的时候,可能出现线程不安全的问题.但是,我们分析打印的结果,发现没有问题:为了让问题更明显: Thread.sleep(10);//当前线程睡10毫秒,当前线程休息着,让其他线程去抢资源. 经常用来模拟网络延迟. -----------------------------------------原创 2017-06-20 14:56:23 · 957 阅读 · 0 评论 -
java多线程之创建和启动线程
1.创建和启动线程传统有两种方式:(还有一种不常用)方式1:继承Thread类;方式2:实现Runnable接口;----------------------------------------------------------------线程类(java.lang.Thread): Thread类和Thread的子类才能称之为线程类. 阅读API.别忘了主线程(ma原创 2017-06-20 13:54:59 · 454 阅读 · 0 评论 -
java多线程之java操作进程
1.Java操作进程 在Java代码中如何去运行一个进程(简单讲解). 方式1:Runtime类的exec方法: 方式2:ProcessBuilder的start方法:import java.io.IOException;public class ThreadDemo2 { public static void main(String[] args) throws原创 2017-06-20 10:26:41 · 267 阅读 · 0 评论 -
java多线程之进程和线程
1.进程和线程进程是指一个内存中运行中的应用程序。每个进程都有自己独立的一块内存空间,一个应用程序可以同时启动多个进程。比如在Windows系统中,一个运行的abc.exe就是一个进程。那么我们此时就可以处理同时玩游戏和听音乐的问题了,我们可以设计成两个程序,一个专门负责玩游戏,一个专门负责听音乐。但是问题来了,要是要设计一个植物大战僵尸游戏,我得开N个进程才能完成多个功能,这样的设计显然是不原创 2017-06-20 10:16:01 · 390 阅读 · 0 评论 -
java多线程之线程的优先级
1.线程优先级每个线程都有优先级,优先级的高低只和线程获得执行机会的次数多少有关,并非线程优先级越高的就一定先执行,哪个线程的先运行取决于CPU的调度。MAX_PRIORITY=10,最高优先级MIN_PRIORITY=1,最低优先级NORM_PRIORITY=5,默认优先级----------------------- int getPriority() :返回线原创 2017-06-23 10:52:08 · 326 阅读 · 0 评论