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

java线程

时间:2016-05-31 00:39:17      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:

1.线程安全指的是,主要是指多线程操作同一个数据时,防止脏数据的产生。
线程安全的情况:就是当一个线程需要对这个数据进行改写时,会给这个数据上一个同步锁,比如A线程拿到数据后,
给数据加上同步锁,这时候B线程进来了,但是这时候数据已经上锁,B线程则需要等待A线程释放锁之后才能对数据
进行操作,这样就防止了脏数据的产生。
StringBuffer是线程安全的。

2.线程并发,不是物理上的同时发生,而逻辑上的同时发生。

3.同步,异步是什么?
线程同步:多个线程同时访问同一资源,等待资源访问结束,耗时久,效率低。
线程异步:访问资源时在空闲等待时,同时访问其他资源,实现多线程。(比如下载资源时,可以做其他事情)
(异步就相当于放洗澡水时,边放边收拾衣服。。节省了时间。)

4.synchronized。
由于同一线程的多个线程共享同一片存储空间,可能会有访问冲突。可以用synchronized这个关键字,
避免同一个数据对象被多个线程同时访问。
synchronized有两种用法:
a、synchronized方法:在方法声明中加入synchronized,可以控制对类成员变量的访问。
b、synchronized块:通过synchronized关键字来声明synchronized块。

5.进程是操作系统的单位,线程是事务的单位。一个进程可以有多个线程。

6.java线程有6种状态:新建线程new,启动线程runnable,阻塞block,计时等待timed_waiting,等待线程waiting,终止线程terminated

7.Thread.yield( )方法:暂停当前正在执行的线程对象,并执行其他线程

8.wait和sleep的区别在哪里?调用sleep方法的线程不释放锁,但调用wait方法的线程释放锁。

9.Thread.join()方法:存在一个线程A,现在插入线程B,要求B先执行完毕,然后再继续执行线程A。

10.线程同步:多线程中,可能会发生线程抢占资源的问题。为了防止冲突,java提供线程同步的机制保证线程安全。

11.实现Runnable接口
public class ThreadTest implements Runnable{
  ...
   public void run() {}
}

ThreadTest t=new ThreadTest();
Thread t1=new Thread(t);     //为什么要用对象实例化来新建线程呢?直接使用t不好吗?
                              //runnable里面,没有start方法,所以必须把对象放到Thread线程里。

}

java线程

标签:

原文地址:http://www.cnblogs.com/expiator/p/5544267.html

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