public OpdrachtVierTweeTwee() {
        // aantal iteraties per gebruiker
        final int MAX = 600;

        // maak aantal threads (gebruikers) aan
        for (int t = 0; t < 2; t++) {
            Thread thread = new Thread() {
                public void run() {
                    // definieer de variabele voor de database
                    Database db = null;

                    // loop door elke iteratie heen
                    for (int i = 0; i < MAX; i++) {
                        try {
                            // maak een connectie met de database
                            db = new Database();
                            db.conn.setAutoCommit(false);
                            db.conn.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
                            db.stmt = db.conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

                            // maak een variabele aan om het totaal aantal studenten in de database op te slaan
                            Integer count = 0;

                            // haal het aantal studenten in de database op
                            ResultSet rsLength = db.stmt.executeQuery("SELECT COUNT(*) FROM studenten");
                            while (rsLength.next()) {
                                count = rsLength.getInt("count");
                            }

                            // Kies een random student op een regel uit de database aan de hand van een willekeurig getal binnen 1 en het aantal studenten
                            int stud = getRandomNumber(1, count);

                            // haal alle studenten op
                            String selectStudentQuery = "SELECT * FROM studenten;";
                            ResultSet rs = db.stmt.executeQuery(selectStudentQuery);

                            // ga naar de regel van de geselecteerde student en haal zijn/haar voor- en achternaam op
                            rs.absolute(stud);
                            String voornaam = rs.getString("voornaam");
                            String achternaam = rs.getString("achternaam");

                            // start de timer
                            long beginTijd = System.currentTimeMillis();

                            // haal de student weer op uit de database aan de hand van zijn/haar voor- en achternaam
                            String selectPerson = "SELECT * FROM studenten WHERE voornaam = '" + voornaam + "' AND achternaam = '" + achternaam + "' LIMIT 1;";
                            ResultSet person = db.stmt.executeQuery(selectPerson);

                            // ga naar de regel waar deze student staat (standaard eerste regel)
                            person.next();

                            // haal alle modules op die deze student volgt/gevolgd heeft.
                            String selectModules = "SELECT m.naam FROM modules AS m " +
                                    "LEFT JOIN modulesklassen AS mk ON m.modulecode = mk.modulecode " +
                                    "LEFT JOIN klassen AS k ON mk.klasid = k.klasid " +
                                    "LEFT JOIN studentenklassen AS sk ON k.klasid = sk.klasid " +
                                    "WHERE sk.studentnummer = '" + person.getString("studentnummer") + "';";
                            ResultSet modules = db.stmt.executeQuery(selectModules);

                            // haal de naam van elke module op en schrijf deze naar de console
                            while (modules.next()) {
                                String moduleNaam = modules.getString("naam");
                                System.out.println(moduleNaam);
                            }

                            // stop de timer
                            long eindTijd = System.currentTimeMillis();

                            // voeg de uitvoer tijd toe aan de lijst
                            duur.add((eindTijd - beginTijd));

                        } catch (SQLException e) {
                            e.printStackTrace();

                            // draai alle code terug als er een sqlfout is
                            try {
                                db.conn.rollback();
                            } catch (SQLException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            }
                        } finally {
                            // probeer de database connectie te sluiten

                            try {
                                db.conn.close();
                            } catch (SQLException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }

                        }
                    }

                    // schrijf de gemiddelde tijd van alle iteraties van deze gebruiker naar de console
                    System.out.println("Average time: " + getAverage() + "MS");
                }
            };
            thread.start();
        }

    }