多线程
文章平均质量分 52
moomhxy
你若是天才,我便是疯子
展开
-
LeetCode 1115. 交替打印FooBar【互斥量、条件变量】
1115. 交替打印FooBar题意:我们提供一个类:class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void bar() { for (int i = 0; i < n; i++) { print("bar"); } }}两个不同的线程将会共用一个 FooBar 实例。其中一个原创 2020-11-07 23:46:27 · 294 阅读 · 0 评论 -
LeetCode 1114.按序打印【多线程互斥量】
1114. 按序打印题意:我们提供了一个类:public class Foo {public void first() { print(“first”); }public void second() { print(“second”); }public void third() { print(“third”); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 first() 方法线程 B 将会调用 second() 方法线程 C 将会调用 third() 方法请原创 2020-11-07 23:44:25 · 298 阅读 · 0 评论 -
C++11多线程之condition_variable(条件变量)
头文件#include <condition_variable>概述condition_variable 类是同步原语,能用于阻塞一个线程,或同时阻塞多个线程,直至另一线程修改共享变量(条件)并通知 condition_variable 。其不可复制赋值。构造函数// 1.构造 condition_variable 类型对象。condition_variable();//2.复制构造函数被删除。condition_variable(const condition_variab原创 2020-11-07 23:43:29 · 734 阅读 · 0 评论 -
LeetCode 1114.按序打印【互斥量】
1114. 按序打印题意:我们提供了一个类:public class Foo {public void first() { print(“first”); }public void second() { print(“second”); }public void third() { print(“third”); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 first() 方法线程 B 将会调用 second() 方法线程 C 将会调用 third() 方法请原创 2020-11-02 22:09:53 · 342 阅读 · 0 评论 -
C++11多线程之unique_lock
概述类 unique_lock 是通用互斥包装器,允许延迟锁定、锁定的有时限尝试、递归锁定、所有权转移和与条件变量一同使用。类 unique_lock 可移动,但不可复制。构造// 构造无关联互斥的 unique_lock unique_lock() noexcept;//移动构造函数。以 other 的内容初始化 unique_lock 。令 other 无关联互斥。unique_lock( unique_lock&& other ) noexcept;//通过调用 m原创 2020-11-02 22:09:16 · 1092 阅读 · 1 评论 -
C++11多线程之mutex
概述mutex 类是能用于保护共享数据免受从多个线程同时访问的同步原语。调用方线程从它成功调用 lock 或 try_lock 开始,到它调用 unlock 为止占有 mutex 。线程占有 mutex 时,所有其他线程若试图要求 mutex 的所有权,则将阻塞(对于 lock 的调用)或收到 false 返回值(对于 try_lock )。调用方线程在调用 lock 或 try_lock 前必须不占有 mutex 。mutex 既不可复制亦不可移动。构造//构造互斥。调用后互斥在未锁定状原创 2020-11-02 22:08:44 · 568 阅读 · 0 评论 -
C++11多线程之thread
头文件需要添加头文件#include<thread>构造//构造不表示线程的新 thread 对象。thread() noexcept; //移动构造函数。构造表示曾为 other 所表示的执行线程的 thread 对象。此调用后 other 不再表示执行线程。thread(thread&& other) noexcept; // 复制构造函数被删除; thread 不可复制。没有二个 std::thread 对象可表示同一执行线程。thread( con原创 2020-11-02 22:08:01 · 934 阅读 · 0 评论