thread-synchronization

    1热度

    1回答

    我有一个函数会生成多个线程,我每次都会向它们传递一个不同的字符串,但似乎线程具有相同的字符串。字符串来自一个插座。这里是代码: pthread_t *MirrorManager; MirrorManager = malloc(sizeof(pthread_t)*th_size); if(MirrorManager == NULL) { perror("malloc"); exit(1); }

    0热度

    1回答

    HI下面的代码是在应用 threadPool.shutdown(); while (!threadPool.awaitTermination(10, TimeUnit.SECONDS)) { logger.info("Waiting for " + (threadPool.getQueue().size() + threadPool

    0热度

    1回答

    我有一个从异步I/O回调中定期更新的Python对象。有几个线程需要等待这个对象被更新。 这个“更新”事件是一个即时事件,并且告诉等待线程唤醒的动作应该是原子事件。 我已经找了几个解决方案: 条件对象需要你首先获取锁,这是一个不走的:我需要多个线程到达wait入无人之境,不战而获取锁。 事件对象会产生竞争条件:如果线程在事件清除之前达到wait,则不会等待,相反,可以在任何线程唤醒之前清除该事件。

    0热度

    1回答

    我试图测量一个程序在其同步部件中花了多少时间,例如由锁(或任何其他形式的并发控制)保护的关键部分。 我很困惑如何做到这一点,以及如何检测我通过我的llvm传递的程序中的并发控制方法。

    2热度

    1回答

    的ASYNCIO docs读: 大多数ASYNCIO对象不是线程安全的。如果您访问事件循环外部的对象,则只应该担心。 有人能解释这或给的ASYNCIO的滥用是如何导致在线程之间共享的对象不同步写个例子吗?我认为GIL意味着一次只有一个线程可以运行解释器,因此在解释器中发生的事件(如读取和写入Python对象)在线程之间被简单地同步。 上面引用中的第二句听起来像是一个线索,但我不知道该怎么做。 我想

    1热度

    1回答

    我正在尝试创建2个线程并调用相同的函数,该函数从for循环中增加了一个计数器“count”。但是每次我运行这个代码时,计数器的值都是不同的。我尝试使用互斥体在线程之间进行同步,当它们增加全局静态变量“count”但仍然值不同时。 static int count; pthread_mutex_t count_mutex; void increment() { pthread_mu

    0热度

    3回答

    我在尝试创建线程构造函数时遇到了一些问题,该构造函数将接受要写入文件的文件名和数据的二维数组。线程运行方法假设将2-d数组写入文件,然后为courses.txt文件和students.txt文件实例化此线程。我试图通过使用多线程应用程序来做到这一点。 2D数组将是一个2D String数组,因为我已经在代码中创建了这个数组。我已经将数据硬编码到二维字符串数组中,但是我对于如何将该数组和文件名传递给

    0热度

    1回答

    我是Android开发新手,我正在尝试创建一个小游戏。我的第一个CountDownTimer由SurfaceView的GameView子类中的构造函数创建。 我应该怎样做才能通过下一个关卡,请拨打CountDownTimer class的cancel(),重新获得下一关的所有元素,并重新创建一个新的CountDownTimer。我在执行Runnable的GameView类的run()中执行此操作。

    0热度

    2回答

    有使用情况,其中BroadcastReceiver动作事件接收并需要按顺序执行它们。 这里如下所示,Event1和Event2可以背对背接收。 Event1的工作必须完成,然后Event2的工作应该开始。 如何使它顺序? BroadcastReceiver{ onReceive(){ Event1: Task1 doing Something different.//Cant run n

    1热度

    1回答

    是否有其他方法可以确保线程准备好接收广播信号。我想要替换main中的Sleep(1)函数。 #include <iostream> #include <pthread.h> #define NUM 4 using namespace std; pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t con