相关内容
最近更新
热门资讯
运城java编程多线程编程基础知识分享
时间:2020-10-28 来源:未知 作者:广州达内培训
java编程语言的学习人数还是非常多的,而今天我们就一起来了解一下,java编程多线程编程基础知识都有哪些。
进程
运行中的应用程序叫进程,每个进程运行时,都有自已的地址空间(内存空间)
如IE浏览器在任务管器中可以看到
操作系统都是支持多进程的
线程
线程是轻量级的进程,是进程中一个负责程序执行的控制单元
线程没有独立的地址空间(内存空间)
线程是由进程创建的(寄生在进程中)
一个进程可以拥有多个线程,至少一个线程
线程有几种状态(新建new,就绪Runnable,运行Running,阻塞Blocked,死亡Dead)
开启多个线程是为了同时运行多部分代码,每个线程都有自已的运行的内容,这个内容可以称线程要执行的任务(放在run()方法中)
多线程
多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
多线程的好处
Java支持编写多线程的程序;
多线程大的好处在于可以同时并发执行多个任务;
多线程可以大限度地减低CPU的闲置时间,从而提高CPU的利用率。
多线程的不利方面
线程也是程序,所以线程需要占用内存,线程越多占用内存也越多;
多线程需要协调和管理,所以需要CPU时间跟踪线程;
线程之间对共享资源的访问会相互影响,必须解决竞用共享资源的问题;
线程太多会导致控制太复杂,终可能造成很多Bug。
线程死锁的概念
指的是两个线程互相持有对方依赖的共享资源,造成无限阻塞。导致死锁的根源在于不适当的运用synchronized关键字来管理线程对特定对象的访问。
解决死锁的方法
让线程持有独立的资源。
尽量不采用嵌套的synchronized语句。
死锁要通过通过优良的设计来尽量降低死锁的发生。
线程通讯:指的是多个线程通过消息传递实现相互牵制,相互调度,即线程间的相互作用。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。