学习笔记
文章平均质量分 88
Chocus
呵呵
展开
-
7、死锁
过多的同步可能会出现死锁,死锁的操作一般是在程序运行的时候才有可能出现。在一个同步方法中调用另一个对象的同步方法可能出现死锁。package com.chocus.demo1;public class ThreadDemo7 { public static void main(String[] args) { new DeadLock(); }}clas原创 2017-10-26 16:57:38 · 130 阅读 · 0 评论 -
5、守护线程与yield
线程分为守护线程和用户线程。如果一个进程中没有用户线程,虚拟机将退出。主线程是用户线程,也就是说当主线程执行完毕但是守护线程还没有执行完,程序依旧会结束。package com.chocus.demo1;public class ThreadDemo05 { public static void main(String[] args) { MyRunnable05 mr =原创 2017-10-26 15:04:03 · 194 阅读 · 0 评论 -
4、join与中断线程
哪个线程对象调用这个join方法,表示哪个线程进入执行的状态,等待这个线程把它的任务执行完。让调用的线程先执行指定时间或执行完毕后再执行其他的线程应用场景:当主线程执行到一半,需要线程0返回的数据才能继续执行时。原创 2017-10-24 15:26:34 · 194 阅读 · 0 评论 -
3、线程的休眠
在当前线程的执行中,暂停指定的毫秒数,释放cpu的时间片假设cpu按照一定顺序执行每个进程,为每个进程分配时间。当cpu分配给进程1三秒钟的时间,AB线程则竞争者3秒钟的时间如果A线程3秒内执行完了就ok了。如果没执行完,执行到一半。则需要等待下次cpu为进程1分配时间。则AB两线程再次竞争时间。但是,当两个线程都存在休眠的情况下,假设cpu分配3秒钟的时间,A执行完1秒后原创 2017-10-24 15:00:30 · 576 阅读 · 0 评论 -
2、线程实现的两种方式
package com.chocus.demo1;public class ThreadDemo01 { public static void main(String[] args) { MyThread mt = new MyThread(); mt.start(); MyRunnable mr = new MyRunnable(); Thr原创 2017-10-24 14:48:33 · 353 阅读 · 0 评论 -
1、进程与线程
概念:进程是一个具有一定独立功能的程序,一个实体,每一个进程都有它自己的地址空间。进程的状态:进程执行时的间隔性,决定了进程可能具有多种状态。1.就绪状态2.运行状态3.阻塞状态线程线程是在进程基础上的进一步划分,一个进程启动之后,里面的若干程序又可以划分成若干个线程。线程是进程中的一个执行路径,共原创 2017-10-24 13:57:17 · 229 阅读 · 0 评论 -
1、网络编程的基本概念
1、什么是计算机网络把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便的互相传递信息,共享软件、硬件、数据信息的资源。2、计算机网络的主要功能资源共享信息传输与集中处理均衡负荷与分布处理综合信息服务3、网络通信协议要使计算机连成的网络能够互通信息,需要对数据传输速率、传输代码、代码结构、传输控制步骤、原创 2017-10-27 14:12:11 · 255 阅读 · 0 评论 -
9、线程的生命周期及线程池
生命周期:线程池:预先创建线程的一种技术。线程池在还没有任务到来之前,创建一定数量的线程,放入空闲队列中,然后对这些资源进行复用,减少频繁的创建和销毁对象。线程池保留的是线程对象。jdk1.5版本以上提供了现成的线程池。、Java里面线程池的顶级接口是Executor,是一个线程执行的工具。线程池接口是ExecutorService。根据Executor来创建一个E原创 2017-10-27 10:59:00 · 882 阅读 · 0 评论 -
8、生产者与消费者案例
厨师制作食物,放在取餐口让服务员取走食物,两个角色最终共享的数据即是食物首先模拟生产消费的过程,未加同步,所以会出现两方面的问题:1、食物与对应描述混乱2、本来应该每样菜品生成5次,取出的菜品数量对不上(桑拿滑肉片7次,锅包肉3次)package com.chocus.demo1;public class ProductCustomerDemo { public原创 2017-10-27 09:20:07 · 882 阅读 · 0 评论 -
6、线程的同步
多个线程同时处理同一资源的线程不安全实例,线程1和2同时操作ticketpackage com.chocus.demo1;public class ThreadDemo6 { public static void main(String[] args) { MyRunnable6 mr = new MyRunnable6(); Thread t = new Thre原创 2017-10-26 15:43:49 · 166 阅读 · 0 评论