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

多线程编程

时间:2016-11-27 00:01:23      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:地址空间   同步锁   thread   统一   接口   对象   问题   运行   现象   


1.一个进程是一个独立的应用程序

2.独占内存空间

3.不是绝对意义的同时,而是cpu在进程间的来回切换

线程描述:

1.是进程内部独立运行的流程

2.线程是共享内存地址空间的

3.cpu在线程之间来回切换

实现线程的两种方式:

1.继承Thread类

2.实现Runnable接口

开启线程的方法:start()

线程状态:

1.新建状态(通过new的方式产生一个线程对象)

2.就绪状态(start启动,运行run方法)

3.运行状态(开启run方法)——中断状态——造成原因:

1.由于优先级的原因线程没有抢到cpu的执行属于中断状态

2.阻塞—由于等待一个I/o事件被阻塞

3.休眠(sleep方法)—调用Thread的sleep方法进行休眠

4.等待唤醒—调用object的wait(),notify()方法

5.挂起—调用yield方法

线程的优先级方法:setpriority()方法

线程的安全性问题:

1.当多个线程访问统一资源的时候,才会发生线程安全性问题

解决方法:加同步锁(synchronized)

死锁:

1.当两个或多个线程同时访问一对循环依赖的资源的时候,有可能会发生死锁现象

解决方法:(线程间的通讯 ) wait()和notfiy()方法

 

多线程编程

标签:地址空间   同步锁   thread   统一   接口   对象   问题   运行   现象   

原文地址:http://www.cnblogs.com/fanxiumin/p/6105448.html

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