java学习之线程】的更多相关文章

有点笨,参考了好几篇大佬们写的文章才整理出来的笔记.... 字面意思上解释,线程池就是装有线程的池,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用. 好处 多线程产生的问题 一般我们使用到多线程的编程的时候,需要通过new Thread(xxRunnable).start()创建并开启线程,我们可以使用多线程来达到最优效率(如多线程下载). 但是,线程不是越多就越好,线程过多,创建和销毁就会消耗系统的资源,也不方便管理. 除此之外,多线…
标签(空格分隔): 线程运行状态 线程的运行状态: 如下是是我编写的一个图,大家可以作为参考: 1.new一个thread子类也是创建了一个线程: 2.创建完毕之后start()-----运行, 3.然后从运行-------sleep(time)----冻结----sleep(time)时间到了,恢复到运行: 4.还有一种,是线程运行的时候------wait时间------到冻结状态-------然后notify()唤醒-----然后恢复到运行状态: 5.消亡:线程运行中/冻结:stop()/…
一.线程总述: 线程是java当中一个重要的内容,如果想说线程的话,那我们应该先来讲一下什么是进程. 进程:那么什么是进程呢,进程从字面上来理解就是,正在进行的程序.就比如说我们在windows当中打开任务管理器之后,我们看到的一个个程序一样.这个程序是在内存当中运行的,我们也可以说,进程就是对应在内存当中该程序所开辟的内存空间.在程序当中程序并不是负责程序执行的,实际上真正执行的是线程也叫做执行路径,从上往下执行,进程只是负责分配内存空间. 线程:就是程序当中中,负责程序执行的控制单元,也叫做…
package com.gh.threadpoor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * 使用线程池 * @author ganhang * */ public class ThreadPoorDemo { public static void main(String[] args) { //创建一个单线程的线程池 ExecutorService es=…
题目一 本质上来说,线程是不可控制的,线程的执行是由CPU资源分配决定的,我们无法干预系统CPU的资源分配,但我们可以增加条件来让线程按照我们的预想顺序来执行. 比如.如果当前的执行的线程不满足我们所定的条件,那么就让CPU重新进行资源的分配,直到资源分配给我们所需要的某个线程 题目说明 编写一个线程类(只有一个类),创建三个线程实例:A线程对象.B线程对象.C线程对象:A线程完成打印"A", B线程完成打印"B", C线程完成打印"C";按照A…
标签(空格分隔): 线程 在java.lang包中有个Thread子类,大家可以自行查阅文档,及范例: 如何在自定义的代码中,自定义一个线程呢? 1.通过对api的查找,java已经提供了对线程这类事物的描述,就是Thread类,创建线程的第一种方式,就是继承Thread类: 2.public void run(),如果该线程是使用独立的Runnable运行对象的run方法,否则该方法不执行任何操作并返回,Thread的子类应该重写该方法: 3.查看API的时候:查看start方法,使用该线程开…
线程池 线程池概念:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多的资源. 线程池:容器-->集合(ArrayList,HashSet,LinkedList<Thread>,HashMap) 当程序第一次启动的时候,创建多个线程,保存到一个集合中 当我们想要使用线程的时候,就可以从集合中取出来线程使用 Thread t = list.remove(0);返回的是被移除的元素,(线程只能被一个任务使用) Thread t =…
线程的安全问题 模拟卖票案例创建三个的线程,同时开启,对共享的票进行出售 public class RunnableImpl implementsc Runnable{ //定义一个多线程共享的票源 private int ticket = 100: //设置线程任务:买票 @Override public void run(){ //使用死循环,让卖票操作重复执行 while (true){ //先判断票是否存在 if(ticket>0){ //提高安全问题出现的概率,让程序睡眠 try{ T…
线程实现方式 并发与并行 并发:指两或多个事件在同一个时间段内发生 并行:指两或多个事件在同一个时刻发生(同时发生) 进程的概念 内存:所有的应用程序都需要进入到内存中执行 临时存储RAM 硬盘:永久存储ROM 进入到内存的程序叫进程 任务管理器-->结束进程 那么就把进程从内存中清除了 线程的概念 点击一个应用程序的功能执行,就会开启一条应用程序到cpu的执行路径,cup就可以通过这个路径执行功能,这个路径有一个名字,叫线程. 线程属于进程:是进程中的一个执行单元,负责程序的执行 线程的好处:…
线程池(Thread Pool):把一个或多个线程通过统一的方式进行调度和重复使用的技术,避免了因为线程过多而带来使用上的开销 优点:(面试题)可重复使用已有线程,避免对象创建.消亡和过度切换的性能开销.避免创建大量同类线程所导致的资源过度竞争和内存溢出的问题.支持更多功能,比如延迟任务线程池(newScheduledThreadPool)和缓存线程池(newCachedThreadPool)等. 创建方式:有两种:ThreadPoolExecutor 和 Executors 1.ThreadP…