![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
文章平均质量分 60
shulan09
这个作者很懒,什么都没留下…
展开
-
控制线程
java的线程支持提供了一些便捷的工具方法,通过这些工具方法我们可以很好的控制线程的执行。 线程睡眠:sleep 如果我们需要让当前正在执行的线程暂停一段时间,并进入阻塞状态,就可以通过调用Thread类的静态sleep方法,sleep方法有两种重载形式: 1.static void sleep(long millis):让当前正在原创 2013-04-22 12:33:56 · 665 阅读 · 0 评论 -
User Tread和Deamon Tread
Deamon Tread又称“后台线程”、“精灵线程”,相对应的,User Tread可以成为“用户线程”、“前台线程”。在整理JVM时提到JVM的垃圾回收机制实质上就是一个典型的Deamon Tread,那么Deamon Tread又是怎么样的呢? java 线程可以分为两种:User Tread和Deamon Tread。一般通过main()运行的都是User Tread,当User T原创 2013-04-22 12:39:52 · 806 阅读 · 0 评论 -
线程的同步
多线程编程常常容易突然出现一些“错误情况”,当多个线程共享资源时,经常会出现一些线程安全问题。以ATM为例,如果A/B两个人同时往一个账户(Account)中存钱,这个账户中本来有1000元,假如A取得了账户(Account)对象后,B也取得这个账户对象,然后A、B分别向该账户中存入1000元,查询账户余额会发现账户中只有2000元,而不是正常的3000元。我们先来看一下这段代码: 首原创 2013-04-23 08:24:41 · 551 阅读 · 0 评论 -
线程通信
线程同步中有说用同步方法、同步代码块、lock锁实现线程同步,但有时候仅仅是同步还满足不了需求。例如,一个售票系统,分打印车票和售出车票两个线程,当无票时,要打印车票后才能售票,有票时直接售出。这样,两个线程之间就需要相互通信。 对于由synchronized修饰的同步方法和同步代码块,我们可以借助Thread类提供的wait()/notify()/notifyAll()三个方法原创 2013-04-23 11:18:41 · 620 阅读 · 0 评论 -
关于线程的几个问题
嘻嘻,刚刚开通CSDN的博客,前三天又不能发表文章,今天终于等到第四天啦!前两天,师兄让我思考几个关于线程的问题,今天就拿出来分享一下,就当是我们共同探讨啦~~~~~~ 1.线程是什么? 线程是由进程而来的,进程就是一个正在执行的程序,是动态的(程序是含有指令和数据的文件,是静态的)。线程就是进程中某个单一顺序的执行路线,是比进程更小的执行单位。同一个进程中所有线程 都在同一块地址原创 2013-04-14 15:28:46 · 776 阅读 · 0 评论 -
线程的生命周期
在最初谈线程时,就提到过线程的生命周期要经过新建、就绪、运行、阻塞、死亡五种状态。在线程被创建并启动以后,它并不是一启动就进入了执行状态,也不是一直处于执行状态。而且,在线程启动以后,它不能一直“霸占”CPU“独自运行,所以CPU需要在多条线程之间切换,于是线程也会多次在运行、阻塞之间切换。线程的各种状态之间的关系可以用一个图来表示: 新建状态:当程序使用new关键字创建了一个原创 2013-04-22 10:17:09 · 937 阅读 · 0 评论 -
创建线程类
一直想把关于线程的相关问题给理清了,结果拖了好几天。今天,希望一次性全解决了吧。不过,问题挺多,还得一个一个来。这里就先谈谈创建线程类。 java使用Tread类代表线程,所有的线程对象都必须是Tread类或其子类的实例。每条线程的作用是完成一定的任务,实际上就是执行一段程序流(一段执行程序的代码)。java使用run方法封装这样一段程序流。我们可以通过继承Tread类和实现Runnable原创 2013-04-21 23:42:24 · 711 阅读 · 0 评论