pi.cs
来自「操作系统方面关于线程的代码。包括一个公共变量的多线程减问题;临界资源不加锁的多线」· CS 代码 · 共 48 行
CS
48 行
using System;
using System.Threading;
namespace PIC
{
class MyClass
{
public double PI;
public short InS1=0,InS2=0;
public void GetPI(int n,int m)
{
int i;
double Sign=1;
for(i=n;i<m;i++)
{
PI=PI+Sign/(2.0*(double )i+1.0);
Sign=-Sign;
}
}
public void S1()
{
InS1=1;
GetPI(0,100000);
InS1=0;
}
public void S2()
{
InS2=1;
GetPI(100001,200000);
InS2=0;
}
public static void Main(string[] args)
{
MyClass P=new MyClass();
P.PI=0;
ThreadStart ts1=new ThreadStart(P.S1);
ThreadStart ts2=new ThreadStart(P.S2);
Thread t1=new Thread(ts1);
Thread t2=new Thread(ts2);
t1.Start();
t2.Start();
//P.GetPI(0,1000000);
while(P.InS1==1 || P.InS2==1)
;
Console.WriteLine("PI="+P.PI*4);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?