コード例 #1
0
        p = Process(target=control_thread,
                    args=(
                        child_conn,
                        c_name,
                        thread_cnt,
                        N,
                        i,
                    ))
        p.start()
        process_list.append((p, parent_conn))

    one_count_list = [0] * nodes_cnt
    zero_count_list = [0] * nodes_cnt
    sen_count_list = [0] * nodes_cnt
    for p, conn in process_list:
        tup = conn.recv()
        for i in range(len(tup[0])):
            one_count_list[i] += tup[0][i]
            zero_count_list[i] += tup[1][i]
            sen_count_list[i] += tup[2][i]
        p.join()
    for i in range(len(circuit.nodes_lev)):
        circuit.nodes_lev[i].one_control = one_count_list[i] / total_pattern
        circuit.nodes_lev[i].zero_control = zero_count_list[i] / total_pattern
        circuit.nodes_lev[i].sen_p = sen_count_list[i] / total_pattern
        # print (circuit.nodes_lev[i].one_control, circuit.nodes_lev[i].zero_control,circuit.nodes_lev[i].sen_p)
    circuit.STAFAN_observability()
    end_time = time.time()
    duration = end_time - start_time
    print("Thread count : {}, Time taken: {}".format(thread_cnt, duration))