java多线程编程一之java线程的原理

    咱们如今使用的操做系统都是多任务操做系统,每一个运行的任务就是操做系统所作的一件事情,好比咱们在和别人聊QQ时还能够一边听着歌,通常来讲一个任务对应着一个进程,也有可能包含多个进程。java

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

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


java线程的建立与启动多线程

1、线程建立的方法并发

一、扩展java.lang.Thread类。spa

二、实现java.lang.Runnable接口。操作系统

2、启动进程线程

调用start()方法。对象

在调用start()方法以前:线程处于新状态中,新状态指有一个Thread对象,但尚未一个真正的线程。接口

 

在调用start()方法以后:

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

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

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

相关文章
相关标签/搜索