window下线程同步有几种方法
线程的同步机制:1。同步线程的事件事件(事件)是最灵活的。一个事件中有两个州:刺激和放松状态。也称为信号状态,没有信号状态。事件有两种类型:手动重置事件和自动重置事件。在设置手动重置事件以刺激状态之后,它将唤醒所有等待的线程,并将其保持刺激,直到将程序设置为不刺激的状态为止。自动重置事件设置为刺激状态后,它将唤醒“一个”等待中的线程,然后自动恢复到不刺激的状态。因此,使用自动重置事件同步两个线程是理想的选择。 MFC中的相应类是CEVENT。 Cevent的构造函数默认情况下会创建一个自动重置事件,并且不会受到刺激。有三个功能可以改变事件的状态:setEvent,cornent和pulsevent。使用事件同步线程是一种理想的方法,但是在实际使用过程中,调用自动重置事件以调用setEvent并可能导致死锁,您必须小心。 2.临界截面critalital_section是最快的。其他内核锁(事件,相互体)需要每个核心的数千个CPU周期。使用关键区域的第一个建议是很长一段时间内不要锁定资源。这是相对长时间的,具体取决于不同的步骤。对于某些控制软件,它可能是几毫秒,但是对于其他一些程序,它可以持续几分钟。但是,进入关键区域后,您必须尽快离开以释放资源。如果没有发布该怎么办?答案不是。如果是进入未发布的关键区域的主线程(GUI线程),则该程序将悬挂!关键领域的缺点之一是:关键部分不是核心对象。不可能知道进入关键区域的线程是生死。资源。这种缺点是在静音中构成的。 MFC中关键部分的相应实施类是C歧视。 ccripicalsection :: lock()输入关键区域,ccriticalsection :: unlock()离开关键区域。 3. Mutex共同排除设备的功能与临界区域相似。不同之处在于:Mutex花费的时间比关键部分多,但是Mutex是核心对象(事件,信号量),可以在过程中使用,并等待锁定的静音符号来设置超时,而不是关键部分,不可能是不可能的。知道关键区域的状况并已经死亡。 MFC中的相应类是Cmutex。 WIN32函数包括:创建相互排斥的身体,打开互相openmutex(),并释放互化roreasemutex()。 Mutex的所有权不属于生成它的线程,而是尚未执行functionMutex()操作的最后一个线程。该线程拥有Mutex,好像输入关键部分一样,一次只能有一个线程。如果带有Mutex的线程在返回之前未调用ReareSemutex(),则该互斥X被放弃,但是当其他线程在等待(WaitforsingLeoBject等)时,仍然可以返回并获得Wait_Abandoned_0返回值。您可以知道,放弃静音是静音的独特之处。 4.信号信号是最历史的同步机制。症状是解决问题/消费者问题的关键要素。相应的MFC类是Csemaphore。 Win32函数CreateSemaphore()用于生成信号量。 releaseSemaphore()用于解锁锁。信号量的现值表示当前可用的资源数量。如果信号量的现值为1,则意味着仍然有一个可以成功的锁定动作。如果当前值为5,则意味着仍然有五个可以成功的锁定操作。当等待...和其他功能的功能必须锁定时。当添加发行版资源的数量时,最初设置的资源总数不会超过。线程之间的通信:线程通常将数据传递给另一个线程。工人线程可能需要告诉其他人的工作已经完成,并且可能需要将GUI线程移交给工作人员线程。通过PostThreadMessage(),可以将消息传递给目标线程。当然,目标线程必须具有消息队列。它被用作通信方法,与标准技术(例如全球变量)相比,它具有很大的好处。如果对象是同一过程中的线程,则可以将自定义消息发送到目标线程。如果线程处于不同的过程中,则涉及过程之间的通信。
window.open的描述
Open()方法可以找到现有或新的浏览器窗口。如果名称参数指定了现有的浏览器窗口,则将返回对窗口的引用。返回的窗口将显示URL中指定的文档,但将忽略功能参数。 Open()方法是通过JavaScript的名称通过浏览器窗口的名称获取浏览器窗口的唯一方法。如果没有窗口参数,也没有名称参数指定的名称的窗口,则Open()方法将创建一个新的浏览器窗口。名称参数用于指定新窗口的名称。该名称必须由字母,数字和下行字符组成。它可以用HTML文档中的“ A”标记或“形式”;标签是定向的。当您使用window.open()方法将新文档加载到已经存在的窗口中时,您可以通过替换参数设置历史记录保存方法。如果此参数为真,则新文档的历史记录将替换旧文档的历史记录。如果参数为false或未指定此参数,则新文件将在窗口的浏览历史记录中建立自己的条目。此参数提供了location.replace()的相同功能。请勿将window.open()()与document.open();这是两种完全不同的方法。为了使代码更清晰,您可以使用window.open()而不是open()。当HTML属性定义事件处理过程时,通常将Open()解释为document.open(),因此在这种情况下,您必须使用window.open()。
windows mobile 5.0系统了解
头晕目眩会有多少个程序?我的手机,多脚585,WM6系统,剩余内存的9MB,然后运行QQ,UCWEB并持有学院。无论如何,打开4或5的打开是没有问题的,但是我经常注意释放记忆,否则会崩溃。用fetion fetion,WM的胎儿太资源了。就像计算机上的fetion一样,程序功能并不多,但是他妈的资源特别强大。ESSENCEAND存在很多问题,但是您可以使用Java模拟器并使用Java版本的fetion。-线程