gpt4 book ai didi

multithreading - 如何在一个类中创建线程?

转载 作者:行者123 更新时间:2023-12-04 06:47:14 24 4
gpt4 key购买 nike

当我们进行编程时,是否有可以用来创建线程的模板
OO语言?

如何着手为OO语言设计线程包?

最佳答案

支持
C++ 0x将支持standard library中的线程。
到目前为止,每个平台都有其自己的实现线程的方式(WindowsPOSIX),但是您可以使用诸如boost::thread之类的东西来不必担心平台特定的东西。
在Java中,有一个Thread class
方法
通常,要将一个类放到另一个线程中,您将在将该类传递到该线程时创建一个线程。然后线程将在该类中调用一个函数。这是一些伪C++代码:

main()
{
Object myObject;

thread = CreateThread(threadFunction, myObject);

thread.join(); // wait for thread
}

threadFunction(Object theObject)
{
theObject.doSomething();
}
通过在C++中使用boost(或C++ 0x线程)可以简化所有操作,而Java中的Thread类可以为您处理此问题。
相关信息
线程应用程序中的一个大问题是线程同步。其中包括 race conditionsdeadlocks之类的问题,仅举几例。
存在帮助这些问题的方法/对象,例如 mutex。互斥锁可以由一个线程锁定,而其他尝试锁定该互斥锁的线程将被阻塞,直到原始线程释放该互斥锁为止。
semaphore是广义互斥量。
Eric的帖子中还概述了其他有用的概念。

关于multithreading - 如何在一个类中创建线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/771298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com