.NET多线程编程(8)——Thread类的Join()思路

简介:
  [介绍说明:刚接触多线程时弄不明白Join作用查阅了 3本书都不明不白后来经过自己番试验终于弄清了Join本质大家看看我这种写法是否易懂是否真写出了Join本质多提宝贵意见]
Thread类Join思路方法能够将两个交替执行线程合并为顺序执行线程比如在线程B中了线程AJoin思路方法
        线程A将插入线程B的前直到线程A执行完毕后才会继续执行线程B
试试:线程插入
//C#初学课堂
//注意添加命名空间
using .Threading;
void Main( args)
{
//线程A
Thread ThreadA = Thread(delegate
{
for ( i = 0; i <= 100000000; i)
{
(i % 1000000 0)
{
Console.Write('A');
}
}
});
//线程B
Thread ThreadB = Thread(delegate
{       
for ( i = 0; i <= 50000000; i)
{
(i % 1000000 0)
{
Console.Write('B');
}
}
//在这里插入线程A
ThreadA.Join;
for ( i = 0; i <= 50000000; i)
{
(i % 1000000 0)
{
Console.Write('b');
}
}
});
//启动线程
ThreadA.Start;
ThreadB.Start;
}
运行结果如下你能分析清楚为什么吗?
Join思路方法" />
由运行结果可以看出开始两个线程交替进行当线程B执行到语句“ThreadA.Join”时线程A被插入到线程B的前两个线程合并到起变为顺序执行直到执行完线程A中所有语句才去执行线程B中剩余语句   
       换句话说当我们在线程B中ThreadA.Join时该思路方法只有在线程ThreadA执行完毕的后才会返回Join还可以接受个表示毫秒数参数当达到指定时间后如果线程A还没运行完毕那么Join将返回这时线程A和线程B再次处于交替运行状态中




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/203206,如需转载请自行联系原作者

目录
相关文章
|
11月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
573 1
|
11月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
498 1
|
Arthas 监控 Java
Arthas thread(查看当前JVM的线程堆栈信息)
Arthas thread(查看当前JVM的线程堆栈信息)
2361 10
|
JSON 安全 API
.net 自定义日志类
在.NET中,创建自定义日志类有助于更好地管理日志信息。示例展示了如何创建、配置和使用日志记录功能,包括写入日志文件、设置日志级别、格式化消息等。注意事项涵盖时间戳、日志级别、JSON序列化、线程安全、日志格式、文件处理及示例使用。请根据需求调整代码。
392 13
|
JSON 数据格式
.net HTTP请求类封装
`HttpRequestHelper` 是一个用于简化 HTTP 请求的辅助类,支持发送 GET 和 POST 请求。它使用 `HttpClient` 发起请求,并通过 `Newtonsoft.Json` 处理 JSON 数据。示例展示了如何使用该类发送请求并处理响应。注意事项包括:简单的错误处理、需安装 `Newtonsoft.Json` 依赖,以及建议重用 `HttpClient` 实例以优化性能。
732 2
【JavaEE】——多线程常用类
Callable的call方法,FutureTask类,ReentrantLock可重入锁和对比,Semaphore信号量(PV操作)CountDownLatch锁存器,
|
Java API 调度
【JavaEE】——多线程(join阻塞,计算,引用,状态)
【JavaEE】——多线程,join,sleep引起的线程阻塞,多线程提升计算效率,如何获取线程的引用和状态
|
Java 程序员 调度
【JavaEE】线程创建和终止,Thread类方法,变量捕获(7000字长文)
创建线程的五种方式,Thread常见方法(守护进程.setDaemon() ,isAlive),start和run方法的区别,如何提前终止一个线程,标志位,isinterrupted,变量捕获
|
安全 Java API
【JavaEE】多线程编程引入——认识Thread类
Thread类,Thread中的run方法,在编程中怎么调度多线程
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
906 5

热门文章

最新文章