博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java多线程编程一之java线程的原理
阅读量:6201 次
发布时间:2019-06-21

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

hot3.png

    我们现在使用的操作系统都是多任务操作系统,每个运行的任务就是操作系统所做的一件事情,比如我们在和别人聊QQ时还可以一边听着歌,一般来说一个任务对应着一个进程,也有可能包含多个进程。

    线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。进程可以创建和撤消线程,从而实现程序的并发执行。一般,线程具有就绪、阻塞和运行三种基本状态。多线程的目的是为了最大限度的利用CPU资源。

       同一进程的里多个子线程看似可以同步进行,其实不是同步的(由于CPU在同一时间内只能处理一个线程),他们可以访问父线程的资源与对象,这样一来的优点是可以实现子线程与子线程之间的通信并且可以节省内存空间,不必为每个子线程重新分配内存空间。但缺点是容易使得数据混乱,线程不安全。

java线程的创建与启动

一、线程创建的方法

1、扩展java.lang.Thread类。

2、实现java.lang.Runnable接口。

二、启动进程

调用start()方法。

在调用start()方法之前:线程处于新状态中,新状态指有一个Thread对象,但还没有一个真正的线程。

 

在调用start()方法之后:

启动新的执行线程(具有新的调用栈);

该线程从新状态转移到可运行状态;

当该线程获得机会执行时,其目标run()方法将运行。

    

转载于:https://my.oschina.net/u/1466944/blog/207260

你可能感兴趣的文章
谈谈前后端的分工协作
查看>>
数据库三级模式
查看>>
drwtsn32.exe 遇到问题须要关闭。我们对此引起的不便表示抱歉
查看>>
读取Assets中的文件数据
查看>>
使用RQShineLabel
查看>>
关闭对话框,OnClose和OnCancel
查看>>
ofbiz ins
查看>>
【BZOJ】1671: [Usaco2005 Dec]Knights of Ni 骑士(bfs)
查看>>
局部坐标系和全局坐标系
查看>>
COCO-Android开发框架公布
查看>>
CF 61E 树状数组+离散化 求逆序数加强版 三个数逆序
查看>>
java中接口的定义与实现
查看>>
python制作exe可执行文件的方法---使用pyinstaller
查看>>
Xcode 6 IDE
查看>>
关于Android控件EditText的属性InputType的一些经验,java组合多个参数
查看>>
关于Set Nocount ON的性能 |c#调用存储过程的返回值总是-1
查看>>
form表单target的用法,实现无刷新提交页面
查看>>
应用程序框架实战一:引言
查看>>
hdu 5045 费用流
查看>>
Amoeba for MySQL 非常好用的mysql集群软件
查看>>