Java 线程
林雷2.x
写博客是一种兴趣,起到扎实基础,分享自己的心得的作用,博客也是别人认识自己的一种方式,共同学习,共同成长。如果我写的博文中出现什么错误的或者不全的地方,希望各位大佬们帮忙纠正,可以通过留言、QQ(374353845)、邮箱([email protected])等方式进行沟通,感激不尽。
展开
-
守护线程h
setDaemon(boolean on); true 为守护线程 当主线程执行完,只有守护线程,Java虚拟机将退出,不会等待守护线程执行完注意:主线程死亡jvm退出是有一定时间,再这个期间守护线程可能还会分到一些时间片执行一段操作...原创 2022-02-27 15:16:28 · 55 阅读 · 0 评论 -
后台线程
后台线程:所有被新创建出来的线程都是前台线程,一个进程要所有前台线程都结束后,进程才可以结束,如果设置为后台进程,运行几次后就会结束。后台进程的设置方法:DamonThread dt = new DamonThread();Thread t = new Thread(dt, "后台线程");System.out.println("t线程是后台线程吗?" + t.isDaem原创 2015-10-31 15:03:32 · 209 阅读 · 0 评论 -
wait()、notify()、notifyAll()详解
通信:一个发送数据(将获取的数据存入数组再发送出去),一个获取数据(创建数组来接收,数组和发送方一样大);这时当发送数据方数组存满,又重新存入数据,第一次的数据就会被覆盖,而获取数据方还没有来的急将第一次存的数据取出来,就会造成数据丢失。 这时有一种解决方法就是,每次数组满了,就等待,直到对方获取完数据,再加载;获取方也是,每次空时就等待,直到有数据。 要吃饭去了,未写完,先保存原创 2015-10-31 17:48:35 · 567 阅读 · 0 评论 -
线程中的一些常用方法的用法 join()、yield()、sleep()、wait()、notify()、notifyAll()
1.线程休眠sleep();:线程有优先级,但是我们可以用此方法人为的改变它们的优先级,让线程暂停,它其他线程获得分配空间。 用法:Thread.sleep(2000);//休眠两秒 2.线程让步yield();就是让出自己的分配空间给其他线程,那么问题来了,让步多久呢?如果有两条线程的话,是不是让步到另外一条线程执行完呢?经测试,不是让另外的线程执行,让步时间是不确定的。 用法:一般都是指定原创 2015-10-31 16:51:30 · 1707 阅读 · 0 评论 -
线程生命周期
这张图就是线程的整个生命周期。原创 2015-10-31 15:30:12 · 219 阅读 · 0 评论 -
多线程两种方式对比与区别
Thread:当你连开多条线程,,run(){};里面的代码会各行其事,比如在inti = 3;run(){ while(true){ if(i>0) i--; system.out.print(i+“,”); }}; 如果开3条线程,这里每条线程会被执行3次,每条线程都会输出3,2,1,也就是 3,2,原创 2015-10-31 15:05:01 · 366 阅读 · 0 评论 -
进程、单线程和多线程
进程:如QQ.exe,LOL.exe等都是进程,也就是APP就是一个进程。 单线程:代码按调用顺序往下执行,没有出现两段代码交替运行; 多线程:代码可以交替运行,线程之间并发运行,每个线程是独立的。 多线程的应用:比如下载文件、应用等,就是同时开几条线程去下载,所以速度快很多。 进程和线程的区别:进程至少有一个或一个以上线程;线程存活在进程中;进程死亡,线程原创 2015-10-31 15:01:53 · 345 阅读 · 0 评论 -
线程同步、线程同步跟Runnable的区别
线程同步:创建多条线程,要一条线程执行完run()方法,下一个线程才能进入run()方法,线程同步就是为了避免同一条件下不允许多条线程同时进入而制造出来的方法。runnable跟同步的区别:runnable在同一条件下可以同时进入多条线程,而同步不行,runable数据共享。例子,售票台有ticket=100张票,每卖一张run(){ticket--;},当买到只剩一张时,这时线程原创 2015-10-31 15:02:44 · 399 阅读 · 0 评论