![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程进程
CarryJey
一、任何事都没有表面看起来那么简单;
二、所有的事都会比你预计的时间长;
三、会出错的事总会出错;
四、如果你担心某种情况发生,那么它就更有可能发生。
展开
-
创建线程的两种方式比较:Thread和Runnable
首先 Thread是类,Runnable是接口。 一是写一个类继承自Thread类,然后重写里面的run方法,用start方法启动线程 二是写一个类实现Runnable接口,实现里面的run方法,用new Thread(Runnable target).start()方法来启动。 两个都可以实现多线程编程,但是基于java是单继承,所以实现Runable更灵活。并且Runable...原创 2018-06-30 18:40:05 · 1156 阅读 · 0 评论 -
Java中终止(销毁)线程的方法
结束线程有以下三种方法:(1)设置退出标志,使线程正常退出,也就是当run()方法完成后线程终止(2)使用interrupt()方法中断线程(3)使用stop方法强行终止线程(不推荐使用,Thread.stop, Thread.suspend, Thread.resume 和 Runtime.runFinalizersOnExit 这些终止线程运行的方法已经被废弃,使用它们是极端不安全的!...原创 2018-06-30 19:43:43 · 41751 阅读 · 6 评论 -
Java四种线程池及基础用法总结
一、为什么要用线程池:1.节约系统资源,减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。3.方便对线程进行管理。new Thread的弊端new Thread(new Runnable() { ...原创 2018-07-01 21:28:24 · 161 阅读 · 0 评论 -
java中创建线程的三种方法及比较(继承Thread、实现Ranable、使用Callable和Future)
java中创建线程的三种方式为:1)继承Thread类创建线程2)实现Runnable接口创建线程3)使用Callable和Future创建线程---------------------------------------------------------------------------------------1、继承Thread类创建线程通过继承Thread类来创建并启动多线程的一般步骤如...原创 2018-06-27 20:59:35 · 883 阅读 · 0 评论 -
进程和线程的区别
线程和进程的区别和优劣:1、进程是资源分配的最小单位,线程是程序执行的最小单位。2、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。3、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而...原创 2018-06-27 21:17:13 · 120 阅读 · 0 评论 -
Thread和Runnable的区别
首先讲一下进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。 线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。 多进程是指操作系统能同时运行多个任务(程序)。 多线程是指在同一程序中...转载 2018-09-30 13:41:06 · 172 阅读 · 0 评论