您的位置 首页 > 数码极客

【cpu线程数是什么作用】线程的基础知识

基本概念

CPU核心数和线程数之间的关系:核心数:线程数=1:1;使用超线程技术可以达到1:2。CPU时间切片旋转机制:导致上下文切换过程的RR调度机制:程序运行资源分配的最小单元进程内部有多个线程,在运行时共享进程的资源线程。CPU调度的最小单位,线程必须根据进程存在。并行:同时处理事情的能力。同时:与单位时间相关。单位时间内处理事情的能力。

CPU -线程

并发编程的优缺点

优点:充分利用CPU的资源,加快用户响应时间,程序模块化,异步缺点:线程共享资源,容易导致冲突僵局。启动太多线程可能会导致服务器停机。Java线程

Java打开线程的方式:通过继承Thread类重写run方法。

public class usethread extends thread {

Public UseThread(String name) {

超级(名字);

}

@Override

Public void run() {

String threadName=T()。get name();

While(真){

Sy(threadName' is run!));

}

//sy(thread name ' interrput flag is ' is interrupted());

}

}

public static void main(string[]args)throws interrupted exception {

thread end thread=new usethread(' end thread ');

EndT()

}实现Runable接口,重新运行run方法

public classuse runnable implements runnable {

@Override

Public void run() {

//doSomeThing

}

public static void main(string[]args){

use runnable use runnable=new use runnable();

thread end thread=new thread(use runnable,' end thread ');

ENDT();

}

}

实现Callable接口,重新实现call方法

/*实施Callable接口以允许返回值*/

private static class use callable implements callable integer {

Private int sum

@Override

public integer call()throws exception {

//doSomeThing

}

public static void main(string[]args){

usecallableusecallable=new use callable();

futuretaskinteger future task=new futuretaskinteger(use callable);

New Thread(futureTask)。START();

}

}Java停止线程的三种方法:stop()、resume()和suspend():

Stop():可能会导致线程资源无法正确释放。Suspend():容易陷入僵局

线程如何安全地停止?

答:线程自然终止。线程运行或异常终止

注意:Java线程以协作方式运行,而不是以抢占模式运行。

Java线程中断interrupt():调用interupt()方法中断线程,而不强制终止线程。只向这个线程打了招呼。将线程的中断显示更改为true。线程是否中断由线程本身决定。

IsInterrupted()检查当前线程是否处于中断状态,并将中断状态更改为false方法。发生InterruptedException时,线程的中断标志位将重置为false,如果实际需要中断线程,则必须在catch语句块中再次调用interrupt

线程的状态

线程只有五种状态。整个生命周期就是这种状态的转换。

线程状态转换图表

线程通用方法

Run()和start() :run方法是一般物件的一般方法,只有在呼叫start()后,Java才会将系线物件对应至作业系统的实际系线,然后执行run方法。Yield():授予CPU的执行权限,并将线程从执行转变为可执行状态,但在下一个片中,线程可以选择重新执行。线程的优先级

值1-10,默认值为5,但线程的优先级不可靠,因此建议在开发过程中不要使用线程的优先级。

守护程序

如果与主线程一起死,则finally代码块不一定会运行。

关于作者: luda

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐