首页 > 编程语言 >C# 测试记录

C# 测试记录

时间:2022-08-20 09:45:30浏览次数:47  
标签:Thread 记录 C# void int 测试 SC1 public SC2

1、正常,同时开启两个线程

//启动函数
public void Test()
{
    Thread thread1 = new Thread(() => SC1());
    thread1.Start();

    Thread thread2 = new Thread(() => SC2());
    thread2.Start();
}


public void SC1()
{
    for (int i = 0; i < 50; i++)
    {
        Thread.Sleep(1000);
        Console.WriteLine("====我是SC1====");
    }
}

public void SC2()
{
    for (int i = 0; i < 50; i++)
    {
        Thread.Sleep(1000);
        Console.WriteLine("====我是SC2====");
    }
}
View Code

 

2、有序执行,无并发

//启动函数
public void Test()
{
    Thread thread1 = new Thread(() => SC1());
    thread1.Start();

    Thread thread2 = new Thread(() => SC2());
    thread2.Start();
}


int sc1 = 0;
int sc2 = 0;
public void SC1()
{
    if (Interlocked.Exchange(ref sc1, 1) == 0)
    {

        if (sc2 == 0)
        {
            for (int i = 0; i < 10; i++)
            {
                Thread.Sleep(500);
                Console.WriteLine("====我是SC1====");
            }
        }
    }
    Interlocked.Exchange(ref sc1, 0);
}

public void SC2()
{
    while (true)
    {
        if (sc1 == 0)
        {
            if (Interlocked.Exchange(ref sc2, 1) == 0)
            {
                for (int i = 0; i < 10; i++)
                {
                    Thread.Sleep(500);
                    Console.WriteLine("====我是SC2====");
                }
                break;
            }
        }
    }
    Interlocked.Exchange(ref sc2, 0);
}
View Code

3、其他

 

标签:Thread,记录,C#,void,int,测试,SC1,public,SC2
From: https://www.cnblogs.com/chenze-Index/p/16607169.html

相关文章

  • Compose和AndroidView的交互
    1、在ComposeUI中加载AndroidView控件Compose中可以加载AndroidView还是比较简单的,直接引入AndroidView来加载AndroidView布局文件。@ComposablefunGreetin......
  • Docker容器网络(基本网络模型)
    解析Docker的4种容器网络默认网络模型先介绍默认的网络模型:安装docker后,输入ifconfig就会发现多了网卡中多了一个docker0:$ifconfigdocker0:flags=4099<UP,BROADC......
  • 【gp】取schema下表及其注释,去除分区表
    【sql】selecta.tablenameastname      b.remark   asremarkfrom(   selecttable_nametablename   frominformation_schem.tab......
  • Rearrangement of carbopositive ions
    functions#xxpiftype('xxp')==str:#xxptransformdefxt(names,*args):defpretrans0(name,i):......
  • ARC100E口胡
    垃圾\(O(3^n)\)做法/kk对于每个\(k\)分别计算答案,注意到\(i\)一定是\(k\)的子集所以先枚举一个\(i\),此时\(j\)应该是被钦定\(i\)为\(1\)的部分为\(0\),剩......
  • JQuery_DOM操作_属性操作_CRUD操作
    CRUD操作append():父元素将子元素追加到末尾对象1.append(对象2):将对象2添加到对象1元素内部,并且在末尾prepend():父元素将子元素追加到开头对象1.prepend(对象2):将......
  • PowerShell教程 - 入门命令(Basic Comlet)
    更新记录转载请注明出处。2022年8月20日发布。2022年8月15日从笔记迁移到博客。入门命令(BasicComlet)帮助信息命令的帮助说明信息的组成结构name,synopsis,sy......
  • PowerShell教程 - 编程结构(Program Struct)- 第二部分
    更新记录转载请注明出处。2022年8月20日发布。2022年8月15日从笔记迁移到博客。字符串(String)说明本质就是.NETSystem.Stringtype使用字符串的索引(Indexingi......
  • 15.DC导出CA让Horizon Client CA导入
    客户端安装后提示证书错误 去同域服务器任意一台的mmc-添加证书中找到 右键-所有任务-导出导出过程   放到桌面    复制去其他客户端  mmc......
  • macOS 安装homebrew
    打开官方链接homebrew#安装命令/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"#上述命令在安装过程中,会出现超......