码迷,mamicode.com
首页 > 编程语言 > 详细

Java中的多线程概念

时间:2017-09-11 19:48:11      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:多进程   安全   java   原理   意思   cto   线程   illegal   注意   

1.如果程序只有一条执行路径,那么该程序就是单线程程序。

   如果程序多条执行路径,那么该程序就是多线程程序。 
2.线程是依赖进程而存在的。
    而进程就是正在运行的程序。是系统进行资源分配和调度的独立单位。每一个进程都有他的内存空间和系统资源。
3.单进程的计算机只能做一件事情:dos命令窗口    现在的计算机可以做多件事情。支持多进程,并且可以提高CPU的使用率。
4.线程就是在一个进程内可以执行多个任务,每一个任务就是一个线程
    线程是程序的执行单元,执行路径,是程序使用CPU的最基本单位。
5.多线程的存在,不是提高程序的执行速度,是提高应用程序的使用率  ,线程是的执行是随机的  
6.并发:物理上同时发生,某一个时间点同时运行多个程序
   并行:逻辑上同时发生,某一个时间内同时运行多个程序
7.Java程序的运行原理:·
        由Java命令启动JVM,JVM启动相当于启动了一个进程。然后该进程创建了一个主线程去调用main方法
    JVM虚拟机的启动时多线程的,因为还有启动垃圾回收线程, 否则会出现内存溢出。
8.面试题:run和start方法的区别:
        run方法:仅仅是封装被线程执行的代码,直接调用是普通方法
        start方法:首先是启动了线程 ,然后再由JVM去调用该线程的run()方法
9.IllegalThreadState Exception:非法线程状态异常
    说明同一个线程不能被调用两次。
10.获取线程的名称:对象名.getname();  设置线程的名称:对象名.setname();
    获取main方法所在线程对象的名称(不是Thread子类线程的名称):Thread.currentThread.getname();
11.获取默认优先级:对象名。getPriority();默认优先级是5。
12.设置优先级:对象名。setPriority(int newPriority);如果int类型给的不在MIN-Priority(1)或者MAX-Priority(10)之间,
    会报 illegal ArgumentException      错误,意思是传入了一个不合法或者不正确的的参数值.
    注意:由于线程具有随机性,运行一两次看不出来结果,一定要多运行几次。
13.(1)守护线程:对象名。setDaemon(boolean on)该方法在启动线程前调用。
     (2)加入线程:对象名。setJoin()想让那个线程先执行,就在启动线程的后面加入这个方法,并且会try、catch。
     (3)开启线程:对象名。Start()
    (4)中断线程:对象名。Stop()已经过时,不建议用
                            :对象名。interrupt(),它会走tay,catch报出异常,而且不影响后面代码的执行
14.同步的问题:
    前提:(1)多个线程(2)使用的是同一个锁对象(任意对象,随便创造一个)
    好处:解决了多线程的安全问题
    弊端:当线程相当多的时候,因为每个线程都会判断同步上的锁,很耗费资源,无形中会降低程序的运行效率。
15.同步解决线程安全问题
    A。同步代码块
                synchronized(对象){
                        需要被同步的代码   
                }任意对象,随便创造一个
B。同步方法
            把同步加在方法上
                这里的锁对象是  this
C。静态同步方法
                把同步加在方法上
                    这里的锁对象是 当前类的字节码文件对象(类名。class)
16.有关线程安全的类
        (1)StringBuffer(2)Vector(3)Hashtable
        如何把一个线程不安全的集合类变成一个线程安全的集合类
                    用 Collections工具类的方法

Java中的多线程概念

标签:多进程   安全   java   原理   意思   cto   线程   illegal   注意   

原文地址:http://www.cnblogs.com/cy666/p/7506074.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!