当前位置:编程学习 > C#/ASP.NET >>

c#多线程的同步和异步可以举例说下吗?

c#多线程的同步和异步可以举例说下吗? 多线程 C# --------------------编程问答-------------------- 同步就是I个线程处理时,其他线程不能访问该线程访问的资源,异步就是没有顺序关系,同一个资源,任意线程可以随意访问 --------------------编程问答-------------------- thread th1=new thread...
thread th2=new thread...

th1.isbackground=true
th2.isbackground=true

th1.start();
th2.start()

这个是同步的还是异步的?调用的方法就是一个循环 --------------------编程问答--------------------
引用 2 楼 p273096185 的回复:
thread th1=new thread...
thread th2=new thread...

th1.isbackground=true
th2.isbackground=true

th1.start();
th2.start()

这个是同步的还是异步的?调用的方法就是一个循环

这个应该是异步吧.
其实你这个只是创建了两个后台线程.
他们是不相关的,同步主要的针对于域中同一个资源的访问.同步的话,是控制对资源的访问,防止一个线程未访问完成另一个线程就访问,这样就会很不安全.
class AState {
        private int state = 1;
        private static AState syc = new AState();
        void DoSomeThingDangerous(int nLoop) {  //传入1.
            if(state == 1)  //非同步,假设线程A判断正确后,线程切换,B也判断正确执行"now is 2",又切换回线程A还是打印"now is 2",这就是典型的不安全.
                Console.WriteLine("now is " + nLoop);
            state = 1;
        }

        void DoSomeThingNormal(int nLoop) { //传入1.
            lock(syc) { //同步,只能是该线程访问结束该域后别的线程才能访问.
                if(state == 1)
                    Console.WriteLine("now is " + nLoop);
                state = 1;
            }
        }
    }
--------------------编程问答-------------------- 呵呵,知道了 --------------------编程问答-------------------- 参考这里:http://msdn.microsoft.com/zh-cn/library/ms228963.aspx --------------------编程问答-------------------- 卤煮概念混淆了奥。
(1)线程只有同步的概念吧,指的是当多个线程同时操作一个公共资源时会出现问题。比如你即往文件里写数据,同时又读,那你读的到底是上一时刻的还是这一时刻的?所以要在读的时候阻止写,这就叫同步。
(2)异步指的是某种操作。比如异步套接字,异步回调等。比如你现在要打电话找物业给你开门(因为你没带钥匙),呢么就有俩种方式:1.你就坐楼下等物业,他们不来你就死等,因为你回家还有好多事要忙呢,很急。
                  2.你可以先去附近草丛溜溜,反正也没事,等物业的人来了后告诉你一声你在回家。
前者就是同步操作,后者就是异步操作。 --------------------编程问答-------------------- 同步,就是被调用者等调用者操作完了再继续,异步是指,调用者触发被调用者,然后继续,至于什么时候被调用者结束,它自己通知调用者。我们知道,多线程是并发执行的,顺序不可预测,所谓线程同步就是指明确规定某个线程的执行顺序,进行等待。 --------------------编程问答-------------------- 简单点,同步就是同时只能有一个程序在干,异步就是同时可以多个在干
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,