最近在做一个VC线程的东西
想问一下线程中同步和异步的问题。
我的理解是同步就是防止多线程同时改变同一个变量时多次对其进行修改。
那异步是什么意思
还有我想问一下,线程池主要解决了什么问题

解决方案 »

  1.   

    多线程并发时,多个线程同时请求一个资源,必然导致此资源的数据不安全,A线程改变了B线程的处理的数据,而B线程又改变了A线程的数据,显示这是由于全局资源造成的,有时为了解决此问题,优先考虑使用局部变量,退而求其次使用同步代码块,出于这样的安全考虑就必须牺牲系统处理性能,加上在多线程并发时资源争夺最激烈的地方,这就实验了线程的同步机制。同步:A线程要请求某个资源时,但是此资源正在被B线程使用中,因为同步机制存在,A线程请求不到,只要等待B线程不使用的时候,才能得到。异步:A线程要请求某个资源时,但是此资源正在被B线程使用中,因为没有同步机制存在,A线程请能得到。线程池:因为计算机中任何资源的创建,包括线程,都是需要消耗系统资源的,需要一定的时间,有些时候需要节省时间,线程就先创建好,放到线程池中,然后在使用的时候,调用线程池中的空闲线程来处理某些事。