多线程编程

Posted 落叶、心悲凉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程编程相关的知识,希望对你有一定的参考价值。


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()方法

 

以上是关于多线程编程的主要内容,如果未能解决你的问题,请参考以下文章

VB.net多线程编程问题

多线程实践—Python多线程编程

多线程多进程和线程池编程

多线程编程学习笔记——线程池

多线程编程学习笔记——线程同步

python --- 基础多线程编程