首页 > 其他分享 >线程

线程

时间:2023-07-24 23:34:25浏览次数:29  
标签:Console Thread thread sleepfor 线程 WriteLine

 

        public static void CallToChildThread()
        {
            try
            {
            Console.WriteLine("执行子程序");
            int sleepfor = 5000;
            Thread.Sleep(sleepfor);
            Console.WriteLine($"暂停{sleepfor/1000}秒");
            }catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            //finally { Console.WriteLine("无法捕获线程异常"); }

        }

 

用Tread创出出线程

        static void Main(string[] args)
        {
            ThreadStart threadStart =new ThreadStart(CallToChildThread);
            Console.WriteLine("asd");
            Thread thread = new Thread(threadStart);
            Console.WriteLine("asdfg");
            thread.Start();//开启线程
            Thread.Sleep(1000);//延迟线程
            Console.WriteLine("1234");
            Console.ReadLine();

        }

先执行

            Thread.Sleep(1000);//延迟线程
            Console.WriteLine("1234");
后执行
            int sleepfor = 5000;
            Thread.Sleep(sleepfor);
            Console.WriteLine($"暂停{sleepfor/1000}秒");

终止线程

        static void Main(string[] args)
        {
            ThreadStart threadStart =new ThreadStart(CallToChildThread);
            Console.WriteLine("asd");
            Thread thread = new Thread(threadStart);
            Console.WriteLine("asdfg");
            thread.Start();//开启线程
            Thread.Sleep(1000);//延迟线程
            Console.WriteLine("1234");
            thread.Abort();//终止线程
            Console.ReadLine();

        }

线程先被中止了,后延迟的线程就报错了。

 

标签:Console,Thread,thread,sleepfor,线程,WriteLine
From: https://www.cnblogs.com/lin-07/p/17578636.html

相关文章

  • 多线程并发修改集合案例
    //单线程使用修改集合ArrayListarrayList=newArrayList();for(inti=0;i<100;i++){arrayList.add(i);}intbatch=10;intsize=arrayList.size();if(0<size&&size&l......
  • 多线程
    1.Python通过两个标准库thread和threading提供对线程的支持。thread提供了低级别的、原始的线程以及一个简单的锁.Threading模块封装了一些常用的方法,初学者直接学这个模块就行了。2.Python中使用线程有两种方式:函数或者用类来包装线程对象3.threading.Thread里面几个参数介绍:c......
  • 线程安全的数组java
    实现线程安全的数组(Java)概述在Java开发中,线程安全是一个非常重要的概念。当多个线程同时访问和修改共享资源时,如果不采取相应的措施,就可能导致数据不一致或者出现其他的并发问题。本文将介绍如何实现一个线程安全的数组,以保证在多线程环境下对数组的访问和修改是安全的。实现步......
  • .net 跨线程
    .NET跨线程实现流程步骤步骤描述1确定要在不同线程之间进行通信的对象2创建一个委托以定义将在目标线程上执行的方法3创建一个需要跨线程调用的方法4使用控件的Invoke或BeginInvoke方法来调用跨线程方法代码示例步骤1:确定要在不同线程之间进行通......
  • 为什么多线程下会有线程安全问题
    原子性:加锁(乐观锁CAS、悲观锁)原子性是指一个操作或一系列操作要么全部执行成功并且不被中断,要么完全不执行,没有中间状态。在多线程或并发环境下,如果一个操作是原子性的,那么其他线程不会在该操作执行过程中看到该操作的部分结果。原子性是为了保证操作的一致性和正确性。例如,一个......
  • 基于C++11特性的线程池
    写在前面:本文学习自基于C++11实现线程池,代码部分均属于该博主,自己只是想记录以下自己的认知,并以这种方式加深一下自己对于多线程的理解1前置知识左值和右值左值(Lvalue):左值是指具有持久性和地址的表达式。简单来说,左值是可以被引用的、可以取地址的表达式。左值可以是变量、对......
  • 设备驱动-10.中断子系统-4.2中断线程化处理-workqueue
    1工作队列workqueue引入定时器、tasklet,它们都是在中断上下文中执行,它们无法休眠。那么如果一旦中断要处理耗时复杂的操作,就会显得很卡。那么使用内核线程来处理这些耗时的工作,那就可以解决系统卡顿的问题。Linux内核中工作队列workqueue就是线程化处理的一种方式,“工作队列”(......
  • Java多线程详解——一篇文章搞懂Java多线程
    Java多线程详解——一篇文章搞懂Java多线程目录1.基本概念2.线程的创建和启动2.1.多线程实现的原理2.2.多线程的创建,方式一:继承于Thread类2.3.多线程的创建,方式一:创建Thread匿名子类(也属于方法一)2.4.多线程的创建,方式二:实现Runnable接口2.4.1.比较创建线程的两种......
  • JavaScript多线程
    JavaScript多线程实现流程1.基本概念在开始讲解JavaScript多线程之前,我们需要先了解一些基本概念。单线程:JavaScript是一门单线程语言,即每次只能执行一项任务。这是因为JavaScript的设计初衷是用于前端交互和操作DOM,多线程会带来复杂性和安全性问题。多线程:多线程指的是同时......
  • android 线程更新ui
    Android线程更新UI的实现简介在Android开发中,我们常常会遇到需要在后台线程中进行耗时操作,然后在UI线程中更新界面的情况。本文将介绍如何实现在Android中使用线程更新UI,并提供相应的代码示例和解释。实现流程下面是实现"Android线程更新UI"的整个流程:步骤描述步骤1......