首页 > 其他分享 >线程控制

线程控制

时间:2023-11-27 09:48:28浏览次数:28  
标签:控制 建议 阻塞 --- 线程 sleep 礼让

线程停止
1.建议线程正常停止---利用次数,不建议死循环
2.建议使用标志位---设置一个标志位
3.不要使用stop或者destroy等,过时或者jdk不建议使用的方法
线程休眠
sleep,指定当前线程阻塞的毫秒数
sleep存在异常InterruptedException
sleep时间达到后线程进入就绪状态
sleep可以模拟网络延时,倒计时等
每一个对象都有一个锁,sleep不会释放锁
线程礼让
让当前正在执行的线程暂停,但不阻塞
将线程从运行状态转为就绪状态
让cpu重新调度,礼让不一定成功
线程强制执行
join合并线程,待此线程完成后,再执行其他线程,其他线程阻塞
可以想象成插队

标签:控制,建议,阻塞,---,线程,sleep,礼让
From: https://www.cnblogs.com/ly123dcom/p/17858501.html

相关文章

  • 多线程
    1.进程和线程进程是一个应用程序线程是一个进程中执行场景,执行单元一个进程可以启动多个线程,进程与进程之间内存独立不共享2.在Java语言中:任意两个线程与线程之间,堆内存和方法区内存共享,因为对内存和方法区只有一个,但是栈内存独立,一个线程一个栈,栈内存有很多个假设有十个线程,会有......
  • 多线程2.0
    说起进程就不得不说程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念而进程则是执行程序的一次执行过程,他是一个动态的概念,是系统资源分配的单位通常在一个进程中可以包含若干个线程,当然一个进程至少有一个线程,不然没有存在的意义,线程是cpu调度和执行的......
  • 守护线程
    线程分为用户线程和守护线程虚拟机必须保护用户线程执行完毕虚拟机不用等待守护线程执行完毕如,后台记录操作日志,监控内存,垃圾回收等待...Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度那个线程来执行线程的优先级用数字表示,范......
  • 多线程.模拟龟兔赛跑
    packageJavaSE.Thread.document01;/***模拟龟兔赛跑*/publicclassDemo05implementsRunnable{publicstaticStringwinner;//胜者@Overridepublicvoidrun(){for(inti=1;i<=100;i++){if(Thread.currentThread().getName()......
  • 线程-线程安全基础篇
    线程安全一些线程安全的容器在复合操作下可能不是线程安全的例:同步容器Vector1.Vector这样的同步容器的所有公有方法全都是synchronized的,也就是说,我们可以在多线程场景中放心的使用【单独】这些方法,因为这些方法本身的确是线程安全的2.由于,不同线程在同一时间操作同一个Vector,......
  • Java守护线程
    Java中的线程分为两类,分别为daemon线程(守护线程)和user线程(用户线程)。在JVM启动时会调用main函数,main函数所在的钱程就是一个用户线程。其实在JVM内部同时还启动了很多守护线程,比如垃圾回收线程。那么守护线程和用户线程有什么区别呢?区别之一是当最后一个非守护线程束时,JV......
  • SD Host控制器微架构设计
    微架构设计思路ahb_slave_if中的寄存器可以在datasheet中进行描述sd_clk-时钟产生模块的接口描述sd_data_fsm和sd_cmd_fsm-状态机描述发送时序需要遵守,并且在发送的时候需要产生CRC接受时序需要遵守,并且要接收CRC,进行比较FiFo中有存储体存储数据,FiFo_ctrl模块进行......
  • 进程和线程的区别
    线程(Thread)和进程(Process)是操作系统中用于执行程序的基本执行单元,它们之间有几个关键的区别:定义:进程:进程是程序的一次执行过程,是一个独立的、具有一定资源的运行环境。它包括程序计数器、寄存器集合、内存空间和其他系统资源。线程:线程是进程的一部分,是一个程序内的独立执......
  • linux之进程控制(万字长文详解)
    进程控制进程创建——fork函数用于创建子进程的系统调用接口!这是一个函数函数执行前只有一个父进程,函数执行后有一个父进程一个子进程进程调用fork,当控制转移到内核中的fork代码后,内核做分配新的==内存块和内核数据结构(PCB,地址空间,页表)==给子进程将父进程部分数据结构内......
  • 线程池使用示例
    概述在多线程执行任务时,可以使用线程池执行任务。相关代码如下:publicstaticvoidmain(String[]args){ThreadPoolExecutorexecutor=null;try{executor=newThreadPoolExecutor(2,3,0L,TimeUnit.MILLISECONDS,newLinkedBlockingQueue......