1、什么是进程

比如:QQ、QQ游戏、eclipse都是进程,可以通过任务管理器查看进程

2、进程和线程区别

线程是进程的一部分,一个进程可以包含多个线程,一个线程只能属于一个进程

进程是所有线程的集合,一个线程是进程中的一条执行路径

3、多线程的好处

多线程的好处就是提高程序的效率

4、多线程的应用场景

迅雷下载视频、QQ同时和多人聊天、批量发送短信,批量上传资源

5、使用继承Thread类还是使用实现Runnable接口好?

使用实现Runnable接口好,原因是接口可以实现多个,类只能继承一个,实现了Runnable接口还可以继承其它的类,继承了Thread类就不能再继承其它的类,一般情况下使用线程池方便管理,避免浪费资源。

6、启动线程是使用start方法还是run方法?

run方法相当于调用重写后的run方法,而不是去开启一个线程

7、多线程创建方式

继承Thread、实现Runnable接口、匿名内部类

8、什么是java内存模型

就是多个线程访问同一变量的时候保证一致性

9、使用wait和sleep区别

wait:调用wait方法,当前线程释放锁,并且必须要调用notify才能重新变为阻塞

sleep:调用sleep不会释放当前锁,当前线程会等待sleep时间到达,继续执行

10、Lock与synchronized的区别

Lock锁是JDK1.5之后推出的并发包里面的关键字,Lock锁可以人为的释放锁(相当于汽车中的手动挡)

synchronized当线程执行完毕或者抛出异常的话,锁自动释放(相当于汽车中的自动挡)

java线程入门_java多线程快速入门(一)相关推荐

  1. java cookbook中文版_Java Client快速入门指南

    适用于与Amazon S3兼容的云存储的Minio Java SDK Minio Java Client SDK提供简单的API来访问任何与Amazon S3兼容的对象存储服务. 本快速入门指南将向你 ...

  2. java线程池_Java多线程并发:线程基本方法+线程池原理+阻塞队列原理技术分享...

    线程基本方法有哪些? 线程相关的基本方法有 wait,notify,notifyAll,sleep,join,yield 等. 线程等待(wait) 调用该方法的线程进入 WAITING 状态,只有等 ...

  3. java线程设计模式_JAVA多线程设计模式

    漫谈UML UML 类图 类和层次结构的关系 接口与实现 聚合 访问控制 类间的关联性 顺序图 处理流程和对象间的协调 时序图 Introduction 1 Java语言的线程 Java语言的线程 何 ...

  4. java线程钥匙_Java多线程并发编程/锁的理解

    一.前言 最近项目遇到多线程并发的情景(并发抢单&恢复库存并行),代码在正常情况下运行没有什么问题,在高并发压测下会出现:库存超发/总库存与sku库存对不上等各种问题. 在运用了 限流/加锁等 ...

  5. java线程基础_Java多线程基础

    前言 在我们工作和学习的过程中,Java线程我们或多或少的都会用到,但是在使用的过程上并不是很顺利,会遇到各种各样的坑,这里我通过讲解Thread类中的核心方法,以求重点掌握以下关键技术点: 线程的启 ...

  6. java线程 锁_Java多线程(二) 多线程的锁机制

    当两条线程同时访问一个类的时候,可能会带来一些问题.并发线程重入可能会带来内存泄漏.程序不可控等等.不管是线程间的通讯还是线程共享数据都需要使用Java的锁机制控制并发代码产生的问题.本篇总结主要著名 ...

  7. java 数据结构 快速入门_Java 数据结构快速入门

    数据结构:栈 简介 栈(stack),又称堆栈,它是运算受限的线性表. 限制 栈(stack)的限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加.查找.删除等操作. 采用该结构的 ...

  8. java 快速排序 递归_Java递归快速入门

    java 快速排序 递归 The function calls itself until someone stops it. 该函数将自行调用,直到有人停止它为止. Recursion can fee ...

  9. java jxl 教程_java jxl快速入门教程

    jxl.jar 包简介 下载地址http://www.andykhan.com/jexcelapi/ 作者的网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Exce ...

最新文章

  1. POJ 1236 Network of Schools(tarjan)
  2. R语言使用ggradar包可视化基本雷达图(radar chart、蜘蛛图spider plot)、可视化单个数据对象的雷达图、自定义雷达图的线条类型、线条宽度、数据点大小、色彩等
  3. Mila唐建专访:Bengio领路,缘起生物梦,AI如何变革生物制药?
  4. elasticsearch 最佳实践
  5. Codeforces 1025 题解
  6. 何将ext中的FormPanel中,所有组件都居中放置?
  7. keynote使用手册_如何使用Keynote和智能手机为AR创建原型
  8. C#实现ByteBuffer类 .
  9. androidtabhost缓存_FragmentTabHost布局的使用及优化方式
  10. 冯长根教授:博士生其实不是学生
  11. python中main方法的用法_python __main__和__init__正确用法
  12. cad细等线体不显示_CAD技法大全,如何在CAD中解决好部分图元无法正常显示的问题 ?...
  13. C#反射获取 所有字段 及 私有字段
  14. 精确搜索linux日志,Linux 日志查询 - 精确详细
  15. html页面百度分享代码,使用百度分享api实现网页分享功能代码
  16. 如何利用单片机的ADC模块(或者独立的ADC芯片)得到接入ADC管脚上的实际电压值?
  17. element--icon图标
  18. python-onvif实现客户端控制相机云台
  19. 瞬时转速 matlab,基于瞬时转速的发动机故障诊断研究
  20. 获取JOP卡的版本与功能信息

热门文章

  1. C语言以数据块的形式读写文件
  2. 前后端交互之封装Ajax+SpringMVC源码分析
  3. Proxy pattern-代理模式
  4. 作为刚開始学习的人应该怎样来学习FPGA
  5. sublime text 3中安装ctags支持函数跳转,安装convertToUtf8支持中文步骤[工具篇]
  6. 【转】MySQL索引和查询优化
  7. LVS+Heartbeat+Ldirectord
  8. 事务日志的物理和逻辑构架
  9. JQuery技巧总结【转】
  10. JavaScript就这么回事 (JS基础知识整理)