博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大龄屌丝自学笔记--Java零基础到菜鸟--033
阅读量:5163 次
发布时间:2019-06-13

本文共 842 字,大约阅读时间需要 2 分钟。

多线程的概述、意义、实现方法、优先级、控制、生命周期、安全性,线程安全类

 

1、概述

进程:正在运行的程序,是系统进行资源分配的独立单位。每一个进程都有自己的内存空间和系统资源。

线程:进程中的单个控制流,是进程的一条执行路径。

单线程:一个应用程序只有一条执行路径。

单线程:一个应用程序拥有多条执行路径。

JVM的启动是多线程的,至少启动了主线程(main)和垃圾回收线程。

 

2、意义

多进程提高CPU的使用率,多线程提高应用程序使用率(抢CPU资源)。

 

3、实现方法

(1)、继承Thread类:自定义类继承Thread,重写run();方法,创建对象,启动线程【th.start();】。

(2)、实现Runnable接口:自定义类实现Runnable接口,重写run();方法,创建对象,创建Thread对象并传递参数启动线程【new Thread(ru).start();】。

实现接口方式的好处

 

4、优先级

setPriority(); 。线程的优先级默认为5,范围1~10。

 

5、控制

sleep();

join();

yield();

setDaemon();

stop();

interrupt();

 

6、生命周期(新建、就绪、运行、阻塞、死亡)

 

7、安全性

多线程可能出现的问题:是否有多线程环境,是否有共享数据,是否有多条语句操作共享数据。

同步解决线程安全问题:synchronized,如:synchronized(对象【obj】){ 同步的内容【代码块】 }。

同步的特点

注意事项:同步解决线程安全问题的关键在【对象】上,该【对象】如同锁的功能,所以多线程必须是同一把锁(同一个【对象】)。

 

8、线程安全类

StringBuffer,Vector,Hashtable。

Collections类的方法,可以将线程不安全的集合类变为线程安全的集合类。

转载于:https://www.cnblogs.com/liverpool/p/4870324.html

你可能感兴趣的文章
jquery cookie的用法(转)
查看>>
avg
查看>>
【京东-深圳】文本文件的频繁插入
查看>>
Poj_1269 Intersecting Lines -判两直线状态(水题、坑OJ)
查看>>
监听ios自带返回功能
查看>>
欧拉函数学习
查看>>
《需求规格说明书》
查看>>
SRS之分发HLS
查看>>
数据库MySql的学习(1)--基本操作
查看>>
Maven的主要特点
查看>>
hdu 3065 病毒侵袭持续中
查看>>
JDBC反射
查看>>
结构体字节对齐
查看>>
1239-贪心算法
查看>>
5.Advanced concepts
查看>>
android上传文件到服务器
查看>>
JavaScript学习笔记——语法基础1.1
查看>>
我回答了90%的面试题,为什么还被拒?
查看>>
Html - Table 表头固定和 tbody 设置 height 在IE不起作用的解决
查看>>
20165205 学习基础与C语言基础调查
查看>>