返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#多线程的Join()方法
  • 381
分享到

C#多线程的Join()方法

2024-04-02 19:04:59 381人浏览 安东尼
摘要

一、简介 Join方法主要是用来阻塞调用线程,直到某个线程终止或经过了指定时间为止。官方的解释比较乏味,通俗的说就是创建一个子线程,给它加了这个方法,其它线程就会暂停执行,直到这个线

一、简介

Join方法主要是用来阻塞调用线程,直到某个线程终止或经过了指定时间为止。官方的解释比较乏味,通俗的说就是创建一个子线程,给它加了这个方法,其它线程就会暂停执行,直到这个线程执行完为止才去执行(包括主线程)。

二、代码

class Program
    {
        static void Main(string[] args)
        {
            Thread threadA = new Thread(ThreadMethod);      
            threadA.Name = "線程A";
            Thread threadB = new Thread(ThreadMethod);      
            threadB.Name = "線程B";
            threadA.Start();       
            //threadA.Join();      
            threadB.Start();       
            //threadB.Join();

            for (int i = 1; i <=3; i++)
            {
                Console.WriteLine("我是:主線程,我循環{1}次", Thread.CurrentThread.Name, i);
                Thread.Sleep(300);          //休眠300毫秒                                                
            }
            Console.ReadKey();
        }
        public static void ThreadMethod(object parameter)
        {
            for (int i = 1; i <=3; i++)
            {
                Console.WriteLine("我是:{0},我循環{1}次", Thread.CurrentThread.Name, i);
                Thread.Sleep(300);         //休眠300毫秒              
            }
        }
    }

三、运行结果

因为线程之间的执行是随机的,所有执行结果和我们想象的一样,杂乱无章!但是说明他们是同时执行的。

现在我们把代码中的 ThreadA.join()和ThreadB.join()方法注释取消,首先程序中有三个线程,ThreadA、ThreadB和主线程,首先主线程先阻塞,然后线程ThreadB阻塞,ThreadA先执行,执行完毕以后ThreadB接着执行,最后才是主线程执行。

到此这篇关于C#多线程Join()方法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#多线程的Join()方法

本文链接: https://lsjlt.com/news/146569.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#多线程的Join()方法
    一、简介 Join方法主要是用来阻塞调用线程,直到某个线程终止或经过了指定时间为止。官方的解释比较乏味,通俗的说就是创建一个子线程,给它加了这个方法,其它线程就会暂停执行,直到这个线...
    99+
    2024-04-02
  • Python多线程以及多线程中join()的使用方法
    本篇内容主要讲解“Python多线程以及多线程中join()的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python多线程以及多线程中join()的使用方法”吧!Python多线程与...
    99+
    2023-06-20
  • JAVA多线程中join()方法的使用方法
    虽然关于讨论线程join()方法的博客已经非常极其特别多了,但是前几天我有一个困惑却没有能够得到详细解释,就是当系统中正在运行多个线程时,join()到底是暂停了哪些线程,大部分博客...
    99+
    2024-04-02
  • Python多线程以及多线程中join()的使用方法示例
    Python多线程与多进程中join()方法的效果是相同的。 下面仅以多线程为例: 首先需要明确几个概念: 知识点一: 当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流...
    99+
    2024-04-02
  • JAVA多线程中join()方法怎么用
    小编给大家分享一下JAVA多线程中join()方法怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!虽然关于讨论线程join()方法的博客已经非常极其特别多了,但是前几天我有一个困惑却没有能够得到详细解释,就是当系统中正...
    99+
    2023-06-15
  • java多线程join方法怎么使用
    在Java中,join()方法是Thread类的一个方法,用于等待该线程完成执行。当在一个线程中调用另一个线程的join()方法时,当前线程会被阻塞,直到被调用的线程执行完毕。join()方法有两种使用方式:1. join():调用该方...
    99+
    2023-08-11
    java join
  • C#多线程的ResetAbort()方法
    一、简介 Abort方法可以通过跑出ThreadAbortException异常中止线程,而使用ResetAbort方法可以取消中止线程的操作,下面通过代码演示使用 ResetAbo...
    99+
    2024-04-02
  • join()方法如何在多线程中使用
    今天就跟大家聊聊有关join()方法如何在多线程中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Thread中,join()方法的作用是调用线程等待该线程完成后,才能继续用下运行...
    99+
    2023-05-31
    多线程 join
  • python线程join方法与seDae
    基于上篇文章之后,我们了解了python程序执行流程,为什么要使用线程,以及什么情况下使用python线程,本文继此之后说说python多线程编程时,经常用到的join()和setDaemon()方法. join ()方法:主线程(主程...
    99+
    2023-01-31
    线程 方法 python
  • C#多线程之线程中止Abort()方法
    一、简介 Abort()方法用来终止线程,调用此方法强制停止正在执行的线程,它会抛出一个ThreadAbortException异常从而导致目标线程的终止。 二、代码 cla...
    99+
    2024-04-02
  • c# 多线程处理多个数据的方法
    目录概述 代码实现 代码地址 概述 多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多...
    99+
    2024-04-02
  • c#多线程处理多个数据的方法
    在C#中,可以使用多线程来同时处理多个数据,以提高程序的性能和响应能力。下面是几种常用的方法:1. 使用`Thread`类:通过创建...
    99+
    2023-08-18
    c#
  • C++多线程传参的实现方法
    目录1.线程传参的过程1.1 内置类型的实参1.2 类类型的实参1.3 传入智能指针unique_ptr1.线程传参的过程 下面是thread的源代码 template< cl...
    99+
    2023-05-17
    C++多线程传参 C++ 线程传参
  • python的多线程中的join的作用
    1 python 默认参数创建线程后,不管主线程是否执行完毕,都会等待子线程执行完毕才一起退出,有无join结果一样例子如下: import threading import time def say(name): print('...
    99+
    2023-01-31
    多线程 作用 python
  • c++创建多线程的方法是什么
    在C++中,有多种方法可以创建多线程。以下是其中几种常见的方法: 使用std::thread类:std::thread类是C++标...
    99+
    2023-10-25
    c++
  • C#多线程处理多个队列数据的方法
    概述 多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性...
    99+
    2024-04-02
  • C#多线程之线程池ThreadPool用法
    目录一、ThreadPool1、QueueUserWorkItem()2、GetMaxThreads()3、GetMinThreads()4、SetMaxThreads()和SetM...
    99+
    2024-04-02
  • C++ SOCKET多线程实现聊天小程序的方法
    本篇内容主要讲解“C++ SOCKET多线程实现聊天小程序的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++ SOCKET多线程实现聊天小程序的方法”吧!本文实例为大家分享了C++ SO...
    99+
    2023-06-20
  • C#多线程用法详解
    目录一、基本概念1、进程2、线程二、多线程2.1System.Threading.Thread类2.2线程的常用属性2.2.1线程的标识符2.2.2线程的优先级别2.2.3线程的状态...
    99+
    2024-04-02
  • python多线程线程锁的使用方法
    小编给大家分享一下python多线程线程锁的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的数据类型有哪些python的数据类型:1. 数字类...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作